Über eine ODBC-Datenbankverbindung von Oracle (11g) zu MS-SQL Server (2012) versuchen wir eine Funktion/Prozedur aufzurufen, die eine ganze Zahl zurückgibt. Die SQL-Server-Prozedur heißt spProcTest2 mit 2 Parametern. Diese Prozedur gibt eine Ganzzahl zurück, die als Fehlercode verwendet wird. Ein Beispiel für den Code finden Sie unten.Rufen Sie die SQL-Serverfunktion von Oracle auf und erhalten Sie den Ergebniswert
Die Frage ist, wie man den Wert erhält, der von der Prozedur zurückgegeben wird?
HINWEIS: Der Wert 'nr', der im folgenden Code verwendet wird, gibt nur die Anzahl der betroffenen Zeilen zurück.
declare
c INTEGER;
nr INTEGER;
v_sql VARCHAR2(1000);
SOUT VARCHAR2(100);
BEGIN
v_sql :='EXEC dbo.spProcTest2 ?, ?;';
c := [email protected];
[email protected](c, v_sql);
[email protected] (c, 1 , 1);
[email protected] (c, 2 , 5);
nr := [email protected](c);
DBMS_OUTPUT.PUT_LINE('nr=' || nr) ;
[email protected](c);
commit;
END;