Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Xml data type is not supported in distributed queries  [new]
урка1
Member

Откуда: Москва, Кремль
Сообщений: 761
как боротся с этой тупостью SQL2005?
я ведь хочу ИДы посмотреть - я уже понял, что посмотреть столбец с XML низзя, но почему я не могу смотреть ВООБЩЕ ничего, если в табле есть хоть одно XML-поле?

К сообщению приложен файл. Размер - 0Kb
6 мар 08, 20:26    [5382754]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Попробуйте через OPENQUERY.
7 мар 08, 08:43    [5383472]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
А как сделать инсерт с одного сервера на другой?

Есть таблица Table1 и на том и на другом сервере, которая содержит XML поле. Есть линки link1 и link2

Пытаюсь сделать
EXEC('INSERT INTO Table1 SELECT * FROM [link2].[db].[dbo].Table1') at [link1]

Выдает сабжевую ошибку, а как написать вложенный exec(...) at link1 не знаю. А еще лучше как-то избавить от этой фигни.
29 ноя 11, 16:01    [11678761]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Очень просто — избавиться от вредной привычки использовать звёздочку *.
А второй пост вы читали?
29 ноя 11, 16:51    [11679088]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Mnior
А второй пост вы читали?


Ага, тока я не понял каким местом его заюзать - пытался как в MSDN делать INSERT OPENQUERY, но не понял насчет тамошнего VALUES()
29 ноя 11, 16:55    [11679106]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
По поводу здвездочки - я задавал все столбцы, результ тотже
29 ноя 11, 16:56    [11679109]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Glory
Member

Откуда:
Сообщений: 104760
OracleLover
Ага, тока я не понял каким местом его заюзать - пытался как в MSDN делать INSERT OPENQUERY, но не понял насчет тамошнего VALUES()

А "Примеры использования инструкции INSERT" пролистать терпения опять не хватило ?
29 ноя 11, 17:07    [11679168]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Glory
OracleLover
Ага, тока я не понял каким местом его заюзать - пытался как в MSDN делать INSERT OPENQUERY, но не понял насчет тамошнего VALUES()

А "Примеры использования инструкции INSERT" пролистать терпения опять не хватило ?


Я про пример и говорю
INSERT OPENQUERY (OracleSvr, 'SELECT name FROM joe.titles')
[b]VALUES [/b]('NewTitle');

Что вставляет, куда вставляет ничего непонятно. Как мне мой инсерт тогда под опенквери оптимизировать?
29 ноя 11, 17:10    [11679189]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Glory
Member

Откуда:
Сообщений: 104760
OracleLover
Что вставляет, куда вставляет ничего непонятно

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

OracleLover
Как мне мой инсерт тогда под опенквери оптимизировать?

Оптимизировать инсерт в удаленный сервер с локального вы никак не можете
29 ноя 11, 17:18    [11679255]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Glory,

Все правильно, поэтому я и не стал обращать внимание на пост про OPENQUERY. Ошибку-то почти туже самую выдает

Тип xml-данных не поддерживается в распределенных запросах. Удаленный объект "OPENQUERY" содержит XML-столбцы.

Так как мне INSERT нормально сделать?
29 ноя 11, 17:21    [11679269]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Glory
Member

Откуда:
Сообщений: 104760
OracleLover
Все правильно, поэтому я и не стал обращать внимание на пост про OPENQUERY. Ошибку-то почти туже самую выдает


Мда.
А с чего вы решили, что OPENQUERY должен быть в части INSERT ?
29 ноя 11, 17:23    [11679281]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Glory
OracleLover
Все правильно, поэтому я и не стал обращать внимание на пост про OPENQUERY. Ошибку-то почти туже самую выдает


Мда.
А с чего вы решили, что OPENQUERY должен быть в части INSERT ?


Потому что я вставляю данные по линку на другой сервер. Какой смысл мне делать опенквери на том же сервере с которого и идет инсерт?
29 ноя 11, 17:39    [11679377]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Glory
Оптимизировать инсерт в удаленный сервер с локального вы никак не можете


Хм, а как репликация это делает? Т.е вообще никак у меня не получится заинсертит записи с XML-полями на другой сервер, правильно я вас понял?
29 ноя 11, 17:52    [11679486]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Потестил по-всякому, вообще как я понял этот OPENQUERY чтобы исключить столбец с XML на удаленном сервере при запросе. Но если он мне нужен? Т.е я могу написать хранимку которая будет вызываться на удаленном сервере, она будет пытаться селектом тянуть поля, но опять же если среди них будет поле XML - то запрос упадет с той же ошибкой, правильно я все понимаю?
29 ноя 11, 18:03    [11679532]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Glory
Member

Откуда:
Сообщений: 104760
Варианты
- написать свой сервер, в котором не будет документированного ограничения на использования типа xml в распределенных запросах
- преобразовывать xml в другие, разрешенные типы данных
29 ноя 11, 18:05    [11679543]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
OracleLover,

Service Broker Вам в помощь.
29 ноя 11, 20:22    [11680028]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
OracleLover
По поводу здвездочки - я задавал все столбцы, результ тотже
О боже, ему надо разжевать что:
1. надо конвертировать XML в чтобы пропихнуть
2. OPENQUERY для того чтобы не писать INSERT EXEC
3. лучше не впихивать куда-то, а забирать откуда-то
30 ноя 11, 01:58    [11681000]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
OracleLover
Member

Откуда: Россия, Казань
Сообщений: 20899
Спасибо ребят, я вас понял.

Толкнуть данные у меня так и не получилось, даже с кастом XML-столбцов. Приходится вызывать удаленную процедуру, которая в свою очередь делает

INSERT INTO Table1
SELECT * FROM OPENQUERY(link2, 'SELECT <все столбцы, xml столбцы с приведенем> FROM Table1')
30 ноя 11, 10:47    [11681674]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
У меня не получается

Такой запрос проходит без ошибок
SELECT *  FROM [DB-SQL3].DB_NEW.dbo.tab1


Ниже, конвертирую xml в varchar(max)
SELECT * FROM OPENQUERY([DB-SQL3], 
'SELECT 
 pivot_id
,pivot_name
,pivot_version
,CONVERT(varchar(max),pivot_filter)
,CONVERT(varchar(max),pivot_query)
,CONVERT(varchar(max),pivot_layout)
,pivot_help
FROM dbo.appl_pivot') 


Поставщик OLE DB "SQLNCLI10" для связанного сервера "DB-SQL3" вернул сообщение "Не удается завершить отложенную подготовку.".
Сообщение 8180, уровень 16, состояние 1, строка 1
Statement(s) could not be prepared.
Сообщение 208, уровень 16, состояние 1, строка 1
Invalid object name 'dbo.appl_pivot'.
27 июл 12, 17:28    [12927009]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
trew,

Уже получилось
SELECT * FROM OPENQUERY([DB-SQL3], 
'SELECT 
 pivot_id
,pivot_name
,pivot_version
,CONVERT(varchar(max),pivot_filter)
,CONVERT(varchar(max),pivot_query)
,CONVERT(varchar(max),pivot_layout)
,pivot_help
FROM DB_NEW.dbo.appl_pivot')
27 июл 12, 17:30    [12927031]     Ответить | Цитировать Сообщить модератору
 Re: Xml data type is not supported in distributed queries  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2996
trew
У меня не получается

Такой запрос проходит без ошибок
SELECT *  FROM [DB-SQL3].DB_NEW.dbo.tab1


Ниже, конвертирую xml в varchar(max)
SELECT * FROM OPENQUERY([DB-SQL3], 
'SELECT 
 pivot_id
,pivot_name
,pivot_version
,CONVERT(varchar(max),pivot_filter)
,CONVERT(varchar(max),pivot_query)
,CONVERT(varchar(max),pivot_layout)
,pivot_help
FROM dbo.appl_pivot') 


Поставщик OLE DB "SQLNCLI10" для связанного сервера "DB-SQL3" вернул сообщение "Не удается завершить отложенную подготовку.".
Сообщение 8180, уровень 16, состояние 1, строка 1
Statement(s) could not be prepared.
Сообщение 208, уровень 16, состояние 1, строка 1
Invalid object name 'dbo.appl_pivot'.


у пользователя, который обращается к линкед сервер, на линкед сервер какая БД по умолчанию?

так что пишите польностью путь до объекта

SELECT * FROM OPENQUERY([DB-SQL3], 'SELECT  pivot_id,pivot_name,pivot_version,CONVERT(varchar(max),pivot_filter),CONVERT(varchar(max),pivot_query),CONVERT(varchar(max),pivot_layout),pivot_helpFROM DB_NEW.dbo.appl_pivot') 
27 июл 12, 17:32    [12927047]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить