Проблема импорта файла XML с дефисами в именах элементов - PullRequest
0 голосов
/ 24 сентября 2018

Я довольно новичок в работе со схемами 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>

Я не могу получитьВ файл исходных данных внесены поправки, исключающие дефисы, поэтому мне нужно найти способ обработать его в процедуре импорта, но я все еще не могу заставить его работать.

...