Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Требуется помощь магистров!!!  [new]
cc
Guest
Есть 2 базы. Одна на MS SQL2000 (MS) другая на SYBASE (SY). База SY поключена как связанный сервер (SS) в MS SQL. Обыкновенная выборка из таблиц связанного сервера проходит на ура, т.е тривиальный запрос типа select * from ss.sy.dbo.table1 нормально дает результаты.
Когда я делаю update ss.sy.dbo.table1 set pole1='1' выдается ошибка:
Server:Msg 7399 ...
...
[OLE/DB provider returned message: Insufficient base table information for updating or refreshing.]
. Где грабли?
9 дек 03, 11:51    [452615]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну, дык, наверное провайдер не могет изменять...

UPDATE and DELETE Requirements for OLE DB Providers

Transact-SQL UPDATE and DELETE statements can reference remote tables only if the following conditions are met by the OLE DB provider that is used to access the remote table:

The provider must support bookmarks on the rowset opened through IOpenRowset on the table being updated or deleted.


The provider must support the IRowsetLocate and IRowsetChange interfaces on the rowset opened through IOpenRowset on the table being updated or deleted.


The IRowsetChange interface must support update (SetData) and delete (DeleteRows) methods.
The Microsoft OLE DB Provider for SQL Server supports these interfaces only on a table that has a unique index. Consequently, UPDATE or DELETE statements are permitted against a remote table in another instance of Microsoft® SQL Server™ only if the table has a unique index.

Спробуй через OPENQUERY или OPENROWSET.
9 дек 03, 12:01    [452643]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
Glory
Member

Откуда:
Сообщений: 104760
Выделить надо было вот это
The Microsoft OLE DB Provider for SQL Server supports these interfaces only on a table that has a unique index.

Первичный ключ у таблицы есть ?
9 дек 03, 12:05    [452657]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
2 Glory,
я выделял только для того, чтобы иметь как можно более близкое соответствие BOL (ну, типа, какой я крутой, што так класно цитирую)...
9 дек 03, 12:21    [452704]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
cc
Guest
Прежде чем писать в форум BOL и другие доступные доки были изучены и примеры из них опробованы, поэтому прошу цитаты и BOL и азы создания таблиц (уникальный индекс) не приводить.
9 дек 03, 12:21    [452705]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну тогда ответь на вопрос от Glory.
9 дек 03, 12:23    [452710]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
cc
Guest
Table1 имеет первичный ключ, драйвер ODBC поддерживает методы вставки, удаления и обновления.
9 дек 03, 12:38    [452757]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
Glory
Member

Откуда:
Сообщений: 104760
драйвер ODBC
Хм. Так у вас как подключен linked server - через ODBC или OLE DB ?
9 дек 03, 12:43    [452777]     Ответить | Цитировать Сообщить модератору
 Re: Требуется помощь магистров!!!  [new]
сс
Guest
Связанный сервер подключен через Microsoft OLE DB Provider for ODBC Driver.
9 дек 03, 13:16    [452876]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить