Page 1 sur 1

Forcer une colonne à 0 dans une requête FOR XML AUTO

Posté : 28 mars 2011, 15:28
par niko0083
Bonjour,

Après avoir recherché et galéré pas mal de temps je reste sans solution à mon problème.
J'exécute sous SQL Serveur des procédures stockées qui me génèrent des résultats dans un fichier XML (via BCP) qui est ensuite utilisé pour faire du repporting.
Ces procédures vont récupérer des informations dans diverses bases de données historisant ce qui se passe la semaine.
Or lorsque mes bases de données sont vides (en début de semaine) mes querry n'affectent aucunes colonnes, le fichier XML généré et vide/corrompu et fait planter ma vue de repporting.

J'ai essayé de faire des SELECT imbriqués, et des CASE pour forcer une colonne à zéro si il n’y a pas de résultat mais cela ne marche pas, connaissez vous une autre solution???

Code :
SELECT date ,SUM(CAST(Valeur AS float)/1000) AS NUM
FROM BASE.dbo.WIK_QteHebdo
WHERE datepart(year,date) >= @tkan
AND datepart(month,date) >= @tkmois
AND datepart(day,date) >= @tkjour
GROUP BY date
FOR XML AUTO, ELEMENTS, ROOT ('NUM')

Re: Forcer une colonne à 0 dans une requête FOR XML AUTO

Posté : 28 mars 2011, 15:59
par xTG
Je n'ai malheureusement pas de solution à t'apporter mais cependant j'ai une remarque.

En cas de XML non valide ou vide il n'est pas normal que ton code de reporting soit planté...
Il faut gérer les erreurs lorsqu'on utilise du contenu externe au script dont on ne connait pas l'état.

Re: Forcer une colonne à 0 dans une requête FOR XML AUTO

Posté : 28 mars 2011, 21:34
par niko0083
Merci ;)