J'ai écrit un assembly CLR qui exporte les données d'une table vers un fichier XML. Maintenant, je veux importer ces données dans une table temporaire sur une autre instance. La structure du fichier XML est comme ceci:Analyse et importation XML dans une table dans SQL Server
<row>
<SystemInformationID>1</SystemInformationID>
<Database_x0020_Version>10.00.80404.00</Database_x0020_Version>
<VersionDate>2008-04-04T00:00:00</VersionDate>
<ModifiedDate>2008-04-04T00:00:00</ModifiedDate>
</row>
Je veux que le XML à analyser dans l'emplacement de destination et importé dans une table temporaire. J'ai aussi la table principale, donc je peux obtenir la structure de la table à partir de là. Y a-t-il un moyen? J'utilise OPENXML mais il ne semble pas fonctionner correctement. Je peux lire le fichier XML dans une table, qui sera stockée dans une colonne avec le type de données XML. Mon problème est l'analyse des données dans cette colonne. Ce est une tentative temporaire:
CREATE TABLE ##T (IntCol int, XmlCol xml)
GO
INSERT INTO ##T(XmlCol)
SELECT * FROM OPENROWSET(
BULK 'c:\HISOutput.xml',
SINGLE_CLOB) AS x
--works correctly up to this point
DECLARE @x xml
DECLARE @id int
SELECT @x=XmlCol FROM ##T
EXEC sp_xml_preparedocument @id OUTPUT, @x
SELECT *
FROM OPENXML (@id,'/row',2)
WITH
dbo.awbuildversion
--I used dbo.awbuildversion table from AdventureWorks DB for testing
this doesn't show the first column no matter how I change the OPENXML instruction.
tx à l'avance
Si vous n'indentez pas votre xml au moins 4 espaces du logiciel SO mange les personnages <et>. Je l'ai réparé pour vous. –
tx Jim, ne savait pas que – Saba
ou tout simplement surligner vos lignes de code, puis appuyez sur le bouton "code" (101 010) sur la barre d'outils de l'éditeur pour obtenir le "code de formatage" –