Passando Parâmetros de Cadeia de Caracteres para os Procedimentos Vinculados do Servidor Oracle do SQL Server

Eu tenho um procedimento Oracle chamadoP_CREATE_USER. Leva um únicovarchar2 parâmetro:

create or replace PROCEDURE 
P_CREATE_USER (P_USERID varchar2)
...

Eu posso executar isso da Oracle comoEXEC P_CREATE_USER('MyUserId')

Temos o servidor Oracle vinculado ao nosso SQL Server.

Eu tentei:

EXECUTE('P_CREATE_USER(''MyUserId'')') AT ORACLE_SERVER

Para o meu problema, eu recebo:

O provedor OLE DB "OraOLEDB.Oracle" para o servidor vinculado "ORACLE_SERVER" retornou a mensagem "ORA-00900: instrução SQL inválida".
Msg 7215, nível 17, estado 1, linha 1
Não foi possível executar a instrução no servidor remoto 'ORACLE_SERVER'.

Eu tentei várias variantes, usando um espaço entreP_CREATE_USER e o parâmetro em vez de parênteses. Eu tentei usar@P_USERID=''MyUserId''. Não tenho nenhum problema em executar procedimentos sem parâmetros dessa maneira, mas não consigo ver como descobrir como passar uma string ...

Atualizar: O UserId usado para o servidor vinculado tem permissões para executar este procedimento e pode executá-lo diretamente do Oracle. Este não é um problema de permissões. O melhor que posso dizer é que o parâmetro é a única coisa que causa um problema.

questionAnswers(1)

yourAnswerToTheQuestion