fredmorvant29
Messages postés42Date d'inscriptionsamedi 27 mars 2004StatutMembreDernière intervention23 juillet 2004
-
3 juin 2004 à 18:09
Frouf85
Messages postés106Date d'inscriptionmardi 6 mai 2003StatutMembreDernière intervention 7 octobre 2004
-
4 juin 2004 à 08:51
bonjour,
je souhaite effectuer une requete sur la base et ramener les infos sous forme xml.
ma requete simple passe bien mais lorsque je rajoute "for xml auto" il me met une erreur : "SQL Exception: Ligne 1 : Syntaxe incorrecte vers 'xml'."
y a t il un jar particulier a utiliser?
voici mon code :
/*connection à la base SQL Server 7*/
try
{
/*Chargement du Driver*/
Driver leDriver = (Driver) Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
/*Etablissement de la connection. Prise en compte des paramètres utilisateurs :
base, nom, mot de passe*/
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://ODN001:1433;databaseName=Northwind;user=toto;password=toto");
writer.println("apres connection");
/*création et éxécution d'une requete*/
Statement stmt = conn.createStatement();
stmt.execute("select c.CategoryID as CatID, c.CategoryName as CatName, p.ProductID as ProID, p.ProductName as ProName from Categories c inner join Products p on p.CategoryID=c.CategoryID order by CategoryName for xml auto");
ResultSet rs = stmt.getResultSet();
while (rs.next())
{
int catID =rs.getInt("CatID");
String catName=rs.getString("CatName");
int proID =rs.getInt("ProID");
String proName=rs.getString("ProName");
writer.println("catID : "+catID+" catName : "+catName+" proID : "+proID+" proName : "+proName);
}
/*fermeture du RecordSet, de la requete et de la connexion*/
rs.close();
stmt.close();
conn.close();
}
catch (ClassNotFoundException cnfe)
{
writer.println("Impossible de charger la classe du Driver : " + cnfe.getMessage());
cnfe.printStackTrace(writer);
return;
}
catch (SQLException se)
{
writer.println("SQL Exception: " + se.getMessage());
se.printStackTrace(writer);
}
catch (Exception e)
{
writer.println(e.getMessage());
e.printStackTrace(writer);
}
indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 200822 4 juin 2004 à 08:50
Bonjour,
j'ai trouvé un lien qui explique cette fonction pour SQL Server : for xml auto
et d'après ce que j'ai lu, il faut indiquer à la suite de "for xml auto" ELMENTS, du coup, que ta requete soit :
select c.CategoryID as CatID, c.CategoryName as CatName, p.ProductID as ProID, p.ProductName as ProName from Categories c inner join Products p on p.CategoryID=c.CategoryID order by CategoryName for xml auto, elements