Pasar parámetros de cadena a procedimientos de Oracle Server vinculados desde SQL Server

Tengo un procedimiento de Oracle llamadoP_CREATE_USER. Se necesita una solavarchar2 parámetro:

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

Puedo ejecutar esto desde Oracle comoEXEC P_CREATE_USER('MyUserId')

Tenemos el servidor de Oracle vinculado a nuestro servidor SQL.

He intentado:

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

Para mi problema, me sale:

El proveedor OLE DB "OraOLEDB.Oracle" para el servidor vinculado "ORACLE_SERVER" devolvió el mensaje "ORA-00900: declaración de SQL no válida".
Msg 7215, Nivel 17, Estado 1, Línea 1
No se pudo ejecutar la declaración en el servidor remoto 'ORACLE_SERVER'.

He intentado una serie de variantes, utilizando un espacio entreP_CREATE_USER y el parámetro en lugar de paréntesis. He intentado usar@P_USERID=''MyUserId''. No tengo problemas para ejecutar procedimientos sin parámetros de esta manera, pero no veo cómo pasar una cadena ...

Actualizar: El UserId utilizado para el servidor vinculado tiene permisos para ejecutar este procedimiento y puede ejecutarse directamente desde Oracle. Esto no es un problema de permisos. Lo mejor que puedo decir, el parámetro es lo único que causa un problema.

Respuestas a la pregunta(1)

Su respuesta a la pregunta