Übergeben von Zeichenfolgenparametern an verknüpfte Oracle Server-Prozeduren von SQL Server

Ich habe eine Oracle-Prozedur aufgerufenP_CREATE_USER. Es dauert eine einzigevarchar2 Parameter:

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

Ich kann dies von Oracle als ausführenEXEC P_CREATE_USER('MyUserId')

Wir haben den Oracle-Server mit unserem SQL Server verbunden.

Ich habe es versucht:

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

Für meine Mühe bekomme ich:

Der OLE DB-Anbieter "OraOLEDB.Oracle" für den Verbindungsserver "ORACLE_SERVER" hat die Meldung "ORA-00900: Ungültige SQL-Anweisung" zurückgegeben.
Meldung 7215, Ebene 17, Status 1, Zeile 1
Die Anweisung konnte auf dem Remoteserver 'ORACLE_SERVER' nicht ausgeführt werden.

Ich habe eine Reihe von Varianten ausprobiert und ein Leerzeichen dazwischen verwendetP_CREATE_USER und der Parameter anstelle von Klammern. Ich habe versucht mit@P_USERID=''MyUserId''. Ich habe kein Problem damit, parameterlose Prozeduren auf diese Weise auszuführen, aber ich kann nicht herausfinden, wie eine Zeichenfolge übergeben wird ...

Aktualisieren: Die für den Verbindungsserver verwendete Benutzer-ID verfügt über Berechtigungen zum Ausführen dieses Verfahrens und kann direkt von Oracle aus ausgeführt werden. Dies ist kein Berechtigungsproblem. Wie ich am besten beurteilen kann, ist der Parameter das einzige, was ein Problem verursacht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage