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文件? –