Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Изменение данных на linked-сервере / 11 сообщений из 11, страница 1 из 1
22.05.2002, 22:13:49
    #32031025
Александр Третьяков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
Создал в Enterprise Meneger linked-сервер, тип MSQL Server и указал там !!!SQL Server!!!, select работает отлично, но когда написал
delete from [192.192.192.192].master.dbo.Table
был выдана ошибка, SQLOLEDB не поддерживает многошагувую операцию.
Тригира нет, пробовал сделать update таже история. Права доступа администратора.
Возможно кто-то удалял данные на удаленных серверах и поделиться своим опытом, я же имел опыт удаления и изменения только через ODBC, заранее признателен всем за ответ.
...
Рейтинг: 0 / 0
23.05.2002, 06:37:10
    #32031050
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
меня тоже интересует вопрос: как можно полноценно работать с данными с linked серверов.

а твою ситуацию я решал и решаю пока запуском sp на удаленном сервере, в которой и написаны операторы обновления, удаления. Хотя мне этот способ дико не нравится, но другого я не нашел.
...
Рейтинг: 0 / 0
23.05.2002, 07:32:18
    #32031054
Sash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
Я использую для работы с Linked Server функцию OpenQuery. Ее можно использовать в запросах, как ТАБЛИЦУ.
Например:

UPDATE OPENQUERY(MyLinkedServer, 'SELECT F1,F2 FROM T1 WHERE F1 = 1')
SET F2 = 2

или

INSERT OPENQUERY(MyLinkedServer, 'SELECT F2 FROM T1 WHERE 1=0') VALUES (1000)

Предикат 1=0, используется к операциях Insert, чтобы избежать выборки данных с удаленного сервера, что может замедлить работу.
...
Рейтинг: 0 / 0
23.05.2002, 07:37:39
    #32031057
Sash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
2 Александр Третьяков

И еще, по поводу ошибки.
Попробуй создать в таблице уникальный индекс - возможно это поможет.
...
Рейтинг: 0 / 0
23.05.2002, 10:08:20
    #32031085
Александр Третьяков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
исполнил запрос
delete OPENQUERY([192.168.192.192], 'SELECT * FROM master.dbo.Table WHERE coden = -1')
Получил ответ
Server: Msg 7320, Level 16, State 2, Line 1
Could not execute query against OLE DB provider 'SQLOLEDB'. The provider could not support a required row lookup interface. The provider indicates that conflicts occurred with other properties or requirements.
[OLE/DB provider returned message: Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.]
Я вообще теряюсь.
...
Рейтинг: 0 / 0
23.05.2002, 10:15:08
    #32031086
PeterG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
У таблицы на linked server'е есть первичный ключ?
...
Рейтинг: 0 / 0
23.05.2002, 10:37:40
    #32031093
boogier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
может, так:?
delete OPENQUERY([192.168.192.192], 'SELECT * FROM master.dbo.Table where 0=1') WHERE coden = -1
...
Рейтинг: 0 / 0
23.05.2002, 11:23:45
    #32031102
fima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
По моему, гораздо лучше использовать процедуру на связанном сервере, чем дергать его отдельными запросами, об этом и в книжках пишут , ошибка может быть из-за MS DTC, хотя не уверен. Вообще то при передачи параметров типа text и image на связанный сервер, я столкнулся с ошибкой, не помню номер... но что то с неправильным чтением памяти , которая вылечилась при установке sp2 для SQL Server'а, может здесь то же самое...
...
Рейтинг: 0 / 0
23.05.2002, 11:24:59
    #32031103
Александр Третьяков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
Все получилось, спасибо Sash и особенно PeterG. Я создал первичний ключ на [192.168.192.192].master.dbo.Table и все заработало.
Работают команды:
delete OPENQUERY([192.168.192.192], 'SELECT * FROM master.dbo.Table WHERE coden = -1')
и также
delete from [192.168.192.192].master.dbo.Table WHERE coden = -1
Спасибо всем, Тема закрыта.
...
Рейтинг: 0 / 0
23.05.2002, 12:04:17
    #32031114
Sash
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
Наконец-то нашел, где я об этом читал.
Посмотрите: http://support.microsoft.com/default.aspx?scid=kb;RU;q270119
...
Рейтинг: 0 / 0
23.05.2002, 20:36:30
    #32031158
Александр Третьяков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение данных на linked-сервере
Еще раз спасибо Sash. И признателен за ссылку.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Изменение данных на linked-сервере / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]