导入元素名称中带有连字符的XML文件时出现问题

时间:2018-09-24 17:16:03

标签: sql-server xml import xsd bulkinsert

我在使用XML / XSD架构等方面还很陌生。我试图使用SQLXMLBulkLoad将XML文件加载到SQL Server中(要上传的文件大于2gb),并且由于源数据有问题包含连字符的元素名称,例如“名字”或“开始日期”。

我设法将一些样本记录(不包括这些字段)导入数据库,但是一旦添加名称中带有连字符的任何元素,导入就会失败,并显示一条错误消息:

  

模式:“列”的值无效,代码: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>

我无法修改源数据文件以排除连字符,因此我必须找到一种在导入例程中处理它的方法,但仍无法使它正常工作。

0 个答案:

没有答案