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

Откуда:
Сообщений: 3
Уважаемые эксперты SQL помогите пожалуйста решить дилемму.
Задача следующая: есть программа которая передает в базу данных xml файл в виде переменной, содержание этого файла необходимо раскидать по справочникам.
Для наглядности:
13 июн 12, 12:42    [12706937]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно использовать оператор OPENXML?  [new]
RMonachov
Member

Откуда:
Сообщений: 3
declare
@DS nvarchar(max)='<?xml version="1.0" encoding="utf-8"?><feed creationDate="2012-06-01T03:26:42" xmlns="KAdvert.Feed"><dictionaries><companyContactType id="1" name="Юр. адрес" /><orderType id="2" name="О вынесении определения о введении наблюдения" /><region id="0" code="0" name="!без подписи" /></dictionaries></feed>'
declare @Handle int

EXEC sp_xml_preparedocument @Handle OUTPUT, @DS

SELECT * into #companyContactTypeTemp
FROM OPENXML(@Handle, '/feed/dictionaries/companyContactType',2)
WITH (
id INT '@id',
name VARCHAR(30) '@name'
)


1. Проблема это encoding="utf-8", при изменении на 16 сразу отрабатывает без ошибок, но т.к. я получаю файл из вне, я не имею возможности его менять. Как это исправить?

2. Собственно вот эта страка: "<feed creationDate="2012-06-01T03:26:42" xmlns="KAdvert.Feed"> не дает мне читать информацию с уровня "Dictionaries". А если я заменяю эту строку на <feed> скрипт отрабатывает без ошибок.

В языках бд не силен, будете добры помогите...
13 июн 12, 13:15    [12707187]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно использовать оператор OPENXML?  [new]
RMonachov
Member

Откуда:
Сообщений: 3
ап
13 июн 12, 15:24    [12708329]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить