Comment faire pour récupérer des données XML dans SQL Server 2005?
Mon script:
Dim myStream, myConnection, myCommand
Set myStream = CreateObject("ADODB.Stream")
Set myConnection = CreateObject("ADODB.Connection")
Set myCommand = CreateObject("ADODB.Command")
'
myConnection.Open "Provider=SQLOLEDB;Integrated Security=SSPI;" & _
"Persist Security Info=False;Initial Catalog=DSIPAR;Data Source=.\DSIDATA"
myCommand.ActiveConnection = myConnection
myCommand.CommandText = "SELECT itemsgt, item FROM NIFItem"
myStream.Open
myCommand.Properties("Output Stream") = myStream
myCommand.Execute , , adExecuteStream
myStream.Position = 0
myStream.Charset = "ISO-8859-1"
Dim strxml
strxml = myStream.ReadText
MsgBox (strxml)
Je peux exécuter le script et je peux voir la requête à exécuter sur mon instance de SQL server, mais rien n'est jamais revenu vers le flux de sortie.
Comme l'a souligné José, votre instruction SQL n'est pas en mesure de récupérer les infos dans le formulaire d'un fichier XML. c'est à dire qu'il n'est pas à l'aide DE XML
OriginalL'auteur | 2009-05-15
Vous devez vous connecter pour publier un commentaire.
Pour récupérer les résultats dans un cours d'eau, la requête doit inclure "FOR XML AUTO". Également modifier le texte adExecuteStream à la valeur de la constante de 1024.
Code Complet:
Si vous n'avez pas besoin d'un ruisseau et au lieu de vouloir lire les valeurs de itemsgt et article, essayez plutôt ceci:
Je viens de mettre à jour mon post. Une partie de l'XML AUTO manquant, l'autre question était de ligne avec myCommand.Exécuter,adExecuteStream -- changement de 1024 et il va fonctionner.
Merci beaucoup, cela fonctionne très bien avec les changements recommandés.
OriginalL'auteur Jose Basilio