Обновить связанный SQL-сервер с параметрами - PullRequest
0 голосов
/ 30 июня 2010

У меня есть два связанных сервера SQL, и я пытаюсь выпустить обновление на другом сервере, но получаю сообщение об ошибке «Оператор (ы) не может быть подготовлен». Затем следует «Должен объявить скалярную переменную« @Shipper_Nbr » «

Синтаксис, который я использую:

update DBSERVER.DBNAME.DBO.TABLE set Field = @Value WHERE ID = @id

Как правильно это сделать?

UPDATE:

Я попытался использовать хранимую процедуру и получить тот же результат. Также я заметил дополнительную информацию. Синтаксис проверяется, я получаю ошибку только при попытке сохранить хранимую процедуру. Кроме того, я заметил, что ошибка также гласит: «Поставщик OLE DB« SQLNCLI »для связанного сервера« WARSQLVS01 »вернул сообщение« Отложенная подготовка не может быть завершена. »."

ACK - я понял это. Это была отдельная строка, где я пытался передать параметр из оператора выбора OPENQUERY. Извини за это! : - \

Ответы [ 3 ]

1 голос
/ 30 июня 2010

Не совсем уверен, что это за проблема, но нам приходилось обходить подобные проблемы, настраивая хранимый процесс на удаленном сервере и вызывая его, а не пытаясь манипулировать элементами на удаленном сервере локально. 1001 *

0 голосов
/ 30 июня 2010

Se, если это работает

UPDATE T
SET Arrive_DT = @Actual_DateTime 
WHERE Shipper_Nbr = @Shipper_Nbr and Container_Name = @Container_Name 
FROM WARSQLVS01.ISS3_AND_DHAM_PROD.dbo.ISS_AND_data_Shipments  as T
0 голосов
/ 30 июня 2010

Вы уверены, что проблема связана со ссылкой на сервер, а не с остальной частью вашего оператора SQL?Где назначено значение @Shipper_Nbr?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...