2012-05-29 131 views
2

我想使用XML批量加載(SQL Server 2008)。我幾乎在那裏,但我認爲我的模式文件是錯誤的。我得到的錯誤是這樣的:XML批量加載問題到SQL Server

VBS Error Msg

以下是我有:

SQL表結構:

SQL Table Structure

架構文件:

<?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 

回答

2

你的XSD文件指定權重值的元素,而不是屬性,這將如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
<CGs> 
    <gross> 
     <weight>8000</weight> 
     <fwd>196.5</fwd> 
     <aft>208.88162</aft> 
    </gross> 
    <gross> 
     <weight>8001</weight> 
     <fwd>196.495</fwd> 
     <aft>208.8825148</aft> 
    </gross> 
    <gross> 
     <weight>8002</weight> 
     <fwd>196.49</fwd> 
     <aft>208.8834096</aft> 
    </gross> 
</CGs> 

要糾正此變化

<element type="weight" sql:field="weight"/> 

<attribute type="weight" sql:field="weight"/> 

在XSD文件中。

+0

我想使用標籤名稱「gross」後面的值。我會認爲你的XML發佈會導致重量的重複標籤問題。 –

+0

@ElJay - 啊,我明白了。請谷歌了XML元素和XML屬性之間的區別。現在回答固定。 –

+0

問題是我不能切實地更改XML文件。我必須與我擁有的東西一起工作(那裏也有大約5000個條目)。我能做些什麼來改變我的Schema文件以使用這個XML文件? –