2
我想使用XML批量加載(SQL Server 2008)。我幾乎在那裏,但我認爲我的模式文件是錯誤的。我得到的錯誤是這樣的:XML批量加載問題到SQL Server
以下是我有:
SQL表結構:
架構文件:
<?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="weight" dt:type="string" />
<ElementType name="fwd" dt:type="float" />
<ElementType name="aft" dt:type="float" />
<ElementType name="CGs" sql:is-constant="1">
<element type="gross" />
</ElementType>
<ElementType name="gross" sql:relation="tblCGLimits">
<element type="weight" sql:field="weight" />
<element type="fwd" sql:field="fwd" />
<element type="aft" sql:field="aft" />
</ElementType>
</Schema>
XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<CGs>
<gross weight="8000">
<fwd>196.5</fwd>
<aft>208.88162</aft>
</gross>
<gross weight="8001">
<fwd>196.495</fwd>
<aft>208.8825148</aft>
</gross>
<gross weight="8002">
<fwd>196.49</fwd>
<aft>208.8834096</aft>
</gross>
</CGs>
,我使用VBScript的:
Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
objBL.ConnectionString = "provider=SQLOLEDB.1;data source=MyServer;database=MyDB;uid=MyUser;pwd=MyPW"
objBL.ErrorLogFile = "c:\XMLError.log"
objBL.Execute "c:\Schema.xml", "c:\CGLimits.xml"
Set objBL = Nothing
我想使用標籤名稱「gross」後面的值。我會認爲你的XML發佈會導致重量的重複標籤問題。 –
@ElJay - 啊,我明白了。請谷歌了XML元素和XML屬性之間的區別。現在回答固定。 –
問題是我不能切實地更改XML文件。我必須與我擁有的東西一起工作(那裏也有大約5000個條目)。我能做些什麼來改變我的Schema文件以使用這個XML文件? –