Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Почему SQLXMLBULKLOAD не дружит с типом date?  [new]
iii2
Member

Откуда:
Сообщений: 202
Никак не могу разобраться, почему SQLXMLBULKLOAD не импортирует элементы типа date.
Дошел до того, что пытаюсь создать набор таблиц с помощью SQLXMLBulkLoad (что б посмотреть, чего там создается.)
Создаю так:
Dim objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad")
        objBL.ConnectionString = "Provider=sqloledb;server=" + _Server + ";database=" + _Database + ";integrated security=SSPI"
        objBL.ErrorLogFile = "c:\error.log"

        objBL.SchemaGen = True
        objBL.SGDropTables = True
        objBL.Bulkload = False


        'objBL.KeepIdentity = False
        objBL.Execute(xsdFilePath, xmlFilePath)
        objBL = Nothing

Так вот, когда элемент описан как:
<xsd:element name="DATA" type="sqltypes:datetime" />
он создается.
А когда описан как:
<xsd:element name="DATA" type="sqltypes:date" />
То вылазит ошибка: The definition for column 'DATA' must include a data type.

Намспейсы импортирую так:
<xsd:schema xmlns:schema="urn:schemas-microsoft-com:sql:SqlRowSet" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified">
  <xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />

Причем в "http://schemas.microsoft.com/sqlserver/2004/sqltypes" этот тип есть, и описан:
  <xsd:simpleType name="date">
    <xsd:restriction base="xsd:date">
      <xsd:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))"/>
      <xsd:maxInclusive value="9999-12-31"/>
      <xsd:minInclusive value="0001-01-01"/>
    </xsd:restriction>
  </xsd:simpleType>

И ровно в таком виде представлен в хмл.

Помогите разобраться, я только пытаюсь начать это осваивать.
8 май 18, 16:53    [21396423]     Ответить | Цитировать Сообщить модератору
 Re: Почему SQLXMLBULKLOAD не дружит с типом date?  [new]
aleks222
Member

Откуда:
Сообщений: 956
Какое-то у тя странное описание типов sql
<xsd:element name="DATA" type="sqltypes:datetime" />

     <xs:element name="TODATE" type="xs:dateTime" minOccurs="0" sql:datatype="datetimeoffset" />


атрибут type - это XML-атрибут.

sql:datatype - вот истинный дао.
8 май 18, 17:55    [21396595]     Ответить | Цитировать Сообщить модератору
 Re: Почему SQLXMLBULKLOAD не дружит с типом date?  [new]
iii2
Member

Откуда:
Сообщений: 202
aleks222, спасибо, щас перекурю.
8 май 18, 18:23    [21396662]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить