Передача строковых параметров в связанные процедуры Oracle Server из SQL Server
У меня есть процедура Oracle называетсяP_CREATE_USER
, Требуется одинvarchar2
параметр:
create or replace PROCEDURE
P_CREATE_USER (P_USERID varchar2)
...
Я могу запустить это из Oracle какEXEC P_CREATE_USER('MyUserId')
У нас есть сервер Oracle, связанный с нашим сервером SQL.
Я пробовал:
EXECUTE('P_CREATE_USER(''MyUserId'')') AT ORACLE_SERVER
За мои неприятности я получаю:
Поставщик OLE DB «OraOLEDB.Oracle» для связанного сервера «ORACLE_SERVER» вернул сообщение «ORA-00900: недопустимый оператор SQL».
Сообщение 7215, уровень 17, состояние 1, строка 1
Не удалось выполнить оператор на удаленном сервере ORACLE_SERVER.
Я пробовал несколько вариантов, используя пробел междуP_CREATE_USER
и параметр вместо круглых скобок. Я пытался использовать@P_USERID=''MyUserId''
, У меня нет проблем с запуском процедур без параметров, но я не могу понять, как передать строку ...
Обновить: UserId, используемый для связанного сервера, имеет разрешения на выполнение этой процедуры и может запускать его непосредственно из Oracle. Это не проблема с разрешениями. Насколько я могу судить, параметр является единственной причиной проблемы.