Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Вставка в линкованный сервер

Ответить
Настройки темы
MSFT SQL Server - Вставка в линкованный сервер

Аватара для rivera

Ветеран


Сообщения: 661
Благодарности: 10

Профиль | Отправить PM | Цитировать


Изменения
Автор: rivera
Дата: 14-05-2011
День добрый.

Есть сервер А
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
Windows NT 5.2 <X64> (Build 3790: Service Pack 2)


к нему подключен линкованный сервер (СУБД ORACLE) с именем RS (remote server)
назовем сервер Б


определено представление (view) на сервера А
create view [VIEW] as
SELECT [Column] FROM OPENQUERY(RS, 'SELECT * FROM Exchange.To_EXEC')

запрос с сервера А
insert into [VIEW] (Column)
values ('UPDATE Exchange.HDR_TABLE SET CHECK_DATE = sysdate WHERE ExBilId = ''ЗНАЧЕНИЕ'' ')

выдает ошибку

Цитата:
OLE DB provider "OraOLEDB.Oracle" for linked server "RS" returned message "ORA-22816: unsupported feature with RETURNING clause".
Msg 7343, Level 16, State 2, Line 1
The OLE DB provider "OraOLEDB.Oracle" for linked server "RS" could not INSERT INTO table "[OraOLEDB.Oracle]".

Сам селект из удаленной БД работает отлично.
Где он взял оператор RETURNING (который в ошибке)?


что мешает?

(изначально сервер А был
Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
Windows NT 5.2 (Build 3790: Service Pack 2)
и на нем все прекрасно работает)



------------------------------добавлено

забавно, если выполнить тот же insert, но без вьюхи
т.е. вместо

Цитата:
insert into [VIEW] (Column)
values ('tro-lo-lo')
вот это

Цитата:
insert OPENQUERY(RS, 'SELECT [Column] FROM Exchange.To_EXEC')
values ('tro-lo-lo')
то выдает другую ошибку

Цитата:
OLE DB provider "OraOLEDB.Oracle" for linked server "RS" returned message "ORA-00936: missing expression".
Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing the query "SELECT [Column] FROM Exchange.To_EXEC" for execution against OLE DB provider "OraOLEDB.Oracle" for linked server "RS".

------------------------------добавлено2

разница в ошибках, зависит от того, указано ли имя колонки в OPENQUERY
т.е.
OPENQUERY(RS, 'SELECT [Column] FROM Exchange.To_EXEC') - ошибка пропущенной части кода (Msg 7321)
OPENQUERY(RS, 'SELECT * FROM Exchange.To_EXEC') - ошибка RETURNING (Msg 7343)

-------
...


Отправлено: 11:36, 14-05-2011

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Возможно, изначально была установлена другая версия поставщика OLE DB?

вставка во вьюхи imho нужна для реализации совместимости старых приложений, а вы похоже, что-то новое из костылей стоите

Отправлено: 15:10, 14-05-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для rivera

Ветеран


Сообщения: 661
Благодарности: 10

Профиль | Отправить PM | Цитировать


ну в принципе да, т.к. изначально был другой widows server
в 2008 был только указанный OLE DB

проблему решили путем удаления и создания вьюх на всех задействованных серверах, с конкретным указанием всех полей.

т.е.
было

Цитата:
create view [VIEW] as
SELECT [Column] FROM OPENQUERY(RS, 'SELECT * FROM Exchange.To_EXEC')
1. изменили целевую вьюху, в которую вставляли To_EXEC
2. изменили вьюху [VIEW]

Цитата:
create view [VIEW] as
SELECT [Column] FROM OPENQUERY(RS, 'SELECT [Column] FROM Exchange.NewTo_EXEC')
пока работает.

-------
...


Отправлено: 11:34, 26-05-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Вставка в линкованный сервер

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Офис и Текст - Вставка видео в презентацию LRC Программное обеспечение Windows 2 14-04-2009 21:34
Вставка каталога страниц Rudy Вебмастеру 9 30-10-2005 15:33
вставка jpg kozerogg Хочу все знать 2 04-10-2004 14:28
Вставка презентаций в С++ Builder 6.0 unreliable Программирование и базы данных 1 29-05-2004 00:29




 
Переход