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

Откуда:
Сообщений: 30
Хранимая процедура, выполняющая Update и Delete на прилинкованном сервере, выдает такую ругань:

Server: Msg 7306, Level 16, State 2, Procedure mp_Order_Repl, Line 19
Could not open table '"teststorev"."dbo"."o_Delivery"' from OLE DB provider 'SQLOLEDB'. The provider could not support a row lookup position. The provider indicates that conflicts occurred with other properties or requirements.
[OLE/DB provider returned message: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' IOpenRowset::OpenRowset returned 0x80040e21: [PROPID=DBPROP_BOOKMARKS VALUE=True STATUS=DBPROPSTATUS_CONFLICTING], [PROPID=DBPROP_COMMANDTIMEOUT VALUE=30 STATUS=DBPROPSTATUS_OK], [PROPID=Unknown PropertyID VALUE=True STATUS=DBPROPSTATUS_OK], [PROPID=DBPROP_IRowsetLocate VALUE=True STATUS=DBPROPSTATUS_CONFLICTING], [PROPID=DBPROP_IRowsetChange VAL...

При этом ее код, запущенный напрямую в QA, нормально выполняется. Что бы это значило?
4 фев 03, 12:19    [121286]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Glory
Member

Откуда:
Сообщений: 104760
Это то, что сказано в BOL

"For example, in the case of Microsoft® SQL Server™, the INSERT, UPDATE, and DELETE statements are not supported on the remote table if the table does not have a unique index defined on it. "
4 фев 03, 17:32    [121705]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Простой рабочий
Member

Откуда: Волгоград
Сообщений: 77
А если я не могу по смыслу установить unique index, то всё, кранты?!
17 июн 03, 09:59    [231709]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Glory
Member

Откуда:
Сообщений: 104760
А по каким канонам тогда вы проектируете свои базы ??
Если согласно реляционной теории, то у вас у каждой таблицы должен быть первичный ключ - естественный или суррогатный.
17 июн 03, 10:03    [231716]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Простой рабочий
Member

Откуда: Волгоград
Сообщений: 77
Например, отношение один-ко многим не позволяет во второй таблице установить уникальный индекс.
17 июн 03, 13:32    [232220]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Glory
Member

Откуда:
Сообщений: 104760
Еще раз
Если вы проектируете свою базу согласно реляционной теории, то у вас у каждой таблицы должен быть первичный ключ - естественный или суррогатный. Связи с другими таблицами тут непричем
17 июн 03, 13:56    [232294]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Простой рабочий
Member

Откуда: Волгоград
Сообщений: 77
Первичный ключ и уникальный индекс вообще-то разные понятия. BOL требует a unique index defined on it
18 июн 03, 13:24    [233647]     Ответить | Цитировать Сообщить модератору
 Re: Прилинкованный сервер  [new]
Glory
Member

Откуда:
Сообщений: 104760
Первичный ключ уникален по определению и значит на его основе легко можно построить уникальный индекс. В MSSQL именно это и происходит при создании PRIMARY KEY.
18 июн 03, 13:32    [233672]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить