Bonjour à tou(te)s,
J'essaye d'importer un fichier XML dans ma base (sql server 2008) en utilisant le composant SQLXMLBulkLoad.
L'appel est fait depuis un code VB et s'exécute sans erreur :
Mes fichers XSD et XML de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkload.4.0") objBL.ConnectionString = g_oDbConnection.ConnectionString & ";integrated security=SSPI" objBL.KeepIdentity = False objBL.Transaction = False 'True objBL.ErrorLogFile = "c:\error.xml" objBL.Execute txtfileXSD, txtfileXML Set objBL = Nothing
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Fichier TESTImport.XSD <?xml version="1.0"?> <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:xml:datatypes" xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <ElementType name="ROOT" sql:is-constant="1"> <element type="TestImport" /> </ElementType> <ElementType name="TestImport" sql:relation="TestImport"> <AttributeType name="Id" dt:type="int" /> <AttributeType name="Name" dt:type="string" /> <AttributeType name="Data" dt:type="string" /> <attribute type="Id" sql:field="Id" /> <attribute type="Name" sql:field="Name" /> <attribute type="Data" sql:field="Data" default="toto123" /> </ElementType> </Schema>Mon problème se trouve dans le résultat dans ma base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <ROOT> <TestImport> <Id>1111</Id> <Name>Sean Chai</Name> <Data>NY</Data> </TestImport> <TestImport> <Id>1112</Id> <Name>Tom Johnston</Name> <Data>LA</Data> </TestImport> <TestImport> <Id>1113</Id> <Name>Institute of Art</Name> </TestImport> <TestImport> <Id>1114</Id> <Name>blblbl</Name> <Data></Data> </TestImport> </ROOT>
Tous les champs de la colonne Name sont a NULLet tous les champs de la colonne Data sont à la valeur par défaut (= "toto123", ce qui était prévu).
Quelqu'un aurait il une idée pour que je récupere mes données dans la colonne Name ???
D'avance merci
Partager