2
Я пытаюсь использовать XML Bulk Load (sql server 2008). Я почти там, но я думаю, что мой файл схемы ошибочен. Ошибка я получаю это:Ошибка XML Bulk Load в 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
Я хочу использовать значение сразу после имени тега «брутто». Я думаю, что ваш XML-сообщение приведет к дублированию тегов для веса. –
@ ElJay - Я вижу. Разделите XML-элементы и атрибуты XML. Ответ исправлен. –
Проблема в том, что я не могу существенно изменить файл XML. Мне нужно работать с тем, что у меня есть (там также около 5000 записей). Что я могу сделать, чтобы изменить файл Schema для работы с этим XML-файлом? –