2017-10-20 55 views
1

Je dois obtenir une réponse XML de notre API et l'interroger dans SSRS. Dans mon code personnalisé, en utilisant System.Net.Webclient, j'interroge notre API et obtient le résultat. Voici par code VB.Ajout de XML dynamique à une source de données dans SSRS

Public Function getXML() As String 

    Dim client = New System.Net.WebClient() 

    client.Headers.Add("Authorization", "MY TOKEN HERE") 

    client.Headers.Add(System.Net.HttpRequestHeader.Accept, "text/xml") 
    Dim RestURL = "MY_URL_HERE" 
    Dim text = client.DownloadString(RestURL) 
Return text 
End Function 

Comme vous pouvez le voir, cela renvoie une chaîne. J'ajoute une source de données et la règle sur cette chaîne XML mais cela ne fonctionne pas. J'ai essayé de créer un objet XElement et XDocument et de le transmettre, mais cela ne fonctionne pas non plus. Je reçois une erreur lors du traitement de l'expression ConnectString Toute aide serait appréciée.

Je sais pertinemment que mon code renvoie une chaîne XML. J'ai vérifié en ajoutant dans une zone de texte.

+0

Voir si ce tutoriel msdn aide: https://technet.microsoft.com/en-us/library/ aa964129 (v = sql.90) .aspx – jdweng

Répondre

0

Pour les intéressés, je viens alimenté la chaîne directement dans le serveur SQL et interrogé là

declare @myDoc xml 


set @myDoc [email protected] --fed to a parameter first and then into the query 


;WITH XMLNAMESPACES(DEFAULT 'http://<custom namespace here>') 
SELECT x.v.value('name[1]', 'VARCHAR(MAX)') as name, 
     x.v.value('date[1]', 'date') as date, 
     x.v.value('ID[1]', 'VARCHAR(max)') as ID, 
     x.v.value('Title[1]', 'VARCHAR(max)') as Title 

FROM @myDoc.nodes('/root/xyz') x(v)