powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Нужно помощь новичку с SQLXMLBulkLoad
5 сообщений из 5, страница 1 из 1
Нужно помощь новичку с SQLXMLBulkLoad
    #38604077
Saenkoiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!

Имеем:

Файл данных
<ROOT>
<Applications>
<application_id>1111</application_id>
<application_name>Sean Chai</application_name>
<application_presentation>New York</application_presentation>
</Applications>
</ROOT>

Файл с описанием
<xsd:schema xmlns:xsd=" http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="ROOT" sql:is-constant="1" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="dbo.Applications" sql:relation="Applications" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="application_id" type="xsd:integer" />
<xsd:element name="application_name" type="xsd:string" />
<xsd:element name="application_presentation" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

Скрипт для загрузки

Set objBL = CreateObject("SQLXMLBulkLoad.SQLXMLBulkLoad.4.0")
objBL.ConnectionString = "Provider=SQLOLEDB.1;Data Source=****;Initial Catalog=***;User ID=*****; Password=*****"
objBL.ErrorLogFile = "C:\Users\***\Desktop\error.log"
objBL.Execute "mapping.xml", "Data.xml"
Set objBL = Nothing

Проблема: данные не записываются в таблицу, при этом не выводится никакой ошибки,
помогите разобраться.
...
Рейтинг: 0 / 0
Нужно помощь новичку с SQLXMLBulkLoad
    #38604266
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В xsd имя элемента - dbo.Applications, в xml - просто Applications. Если хотите задать схему целевой таблицы, то её надо указывать в sql:relation, а в xsd:element должно находиться имя элемента именно в том виде, в каком оно используется в xml.
Ну, и для строковых полей еще было бы неплохо указать размерность и параметры, определяемые collation. Для этого можно сгенерить xsd запросом:
Код: sql
1.
select top 0 * from dbo.Applications for xml auto, elements, xmlschema('test')


и подправить её руками - у xsd:schema убрать атрибут targetNamespace="test", добавить неймспейс xmlns:sql="urn:schemas-microsoft-com:mapping-schema", вписать тэг ROOT и маппинги на целевую таблицу и поля.
...
Рейтинг: 0 / 0
Нужно помощь новичку с SQLXMLBulkLoad
    #38604331
Saenkoiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал, появилась такая ошибка:
Cannot find the object "Applications" because it does not exist or you do not have permissions.

Таблица эта точно существует в указанной БД.

Подскажите как проверить наличие необходимых разрешений.
Под этим пользователем уже осуществлялась запись в эту таблицу, но не через SQLXMLBulkLoad.
...
Рейтинг: 0 / 0
Нужно помощь новичку с SQLXMLBulkLoad
    #38604359
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Saenkoiv,

еще раз xsd в студию. И пользуйтесь тэгом [src].
...
Рейтинг: 0 / 0
Нужно помощь новичку с SQLXMLBulkLoad
    #38606887
Saenkoiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что касается прав, нужны ли какие-то дополнительные права для SQLXMLBulkLoad или достаточно пользователя с полными правами, указанного в строке подключения?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Нужно помощь новичку с SQLXMLBulkLoad
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]