У меня есть SQL Server 2008 со связанным сервером Sybase, и я пытаюсь выполнить хранимую процедуру на сервере Sybase с помощью OPENQUERY. Если у меня есть сохраненный proc, который не принимает параметры, он преуспевает. Если у меня есть сохраненная процедура с параметрами, она терпит неудачу. Я даже попробовал очень простой хранимый процесс, который взял только int, который все еще не удался. Ниже приведен синтаксис я использую:Выполнение хранимой процедуры с OPENQUERY
select * from
OPENQUERY([LINKSERVER],'exec database.user.my_stored_proc ''AT'',''XXXX%'',''1111'',1')
Msg 7357, уровень 16, состояние 2, строка 3 Невозможно обработать объект «Exec database.user.my_stored_proc 'AT', 'XXXX%', '1111' , 1" . Поставщик OLE DB «ASEOLEDB» для связанного сервера «LINKSERVER» указывает, что либо у объекта нет столбцов, либо у текущего пользователя нет разрешений на этот объект.
Поскольку процесс будет выполнен просто отлично без параметров, я не думаю, что это проблема с разрешением.
вы пытаетесь запустить текст SQL непосредственно на Sybase? – Andomar
Да, это отлично работает на Sybase –