Я довольно новичок в работе со схемами XML / XSD и т. Д. Я пытаюсь использовать SQLXMLBulkLoad для загрузки XML-файла в SQL Server (размер файла для загрузки превышает 2 ГБ), и у меня возникла проблема, так как исходные данные имеютИмена элементов, которые содержат дефисы, например «имя» или «дата начала».
Мне удалось получить несколько примеров записей, импортированных в базу данных, исключая эти поля, но как только я добавлю какие-либоэлементов с дефисом в имени при импорте происходит сбой с сообщением об ошибке:
Схема: недопустимое значение для столбца, код: 80004005 Источник: сопоставление схемы
Это происходит только тогда, когда в имени элемента есть дефис, и я не знаю, как его обойти.Я попытался найти ответ, но не смог найти ссылку на проблему, с которой я столкнулся.
Код схемы показан ниже:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="jobs" sql:is-constant="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="job" sql:relation="mytemptable" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="id" type="xsd:string" />
<xsd:element name="title" type="xsd:string" />
<xsd:element name="description" type="xsd:string" />
<xsd:element name="town" type="xsd:string" />
<xsd:element name="start-date" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Я не могу получитьВ файл исходных данных внесены поправки, исключающие дефисы, поэтому мне нужно найти способ обработать его в процедуре импорта, но я все еще не могу заставить его работать.