Ich habe eine Datenbankverbindung zu einem MSSQL-Server in der Tx dbco erfolgreich eingerichtet.
Meine Anforderung ist eine Pass-Through-Abfrage mittels OPENQUERY durchzuführen. Die folgende Query funktioniert am Server selbst problemlos.
Hier bekomme ich aber einen Dump. (Simple Abfragen, auf eine Tabelle am SQL-Server ohne OPENQUERY, funktionieren problemlos.)
Dump:
Kurztext
SQL-Fehler 933 bei der Ausführung von Native SQL aufgetreten.
Was ist passiert?
Der Fehler 933 ist auf der aktuellen Datenbankverbindung "DEFAULT"
aufgetreten.
Fehlertext der Datenbank: ORA-00933: SQL command not properly ended
Auslösende SQL-Anweisung: "FETCH NEXT "
Code:
EXEC SQL.
CONNECT TO 'MSSQL_TEST01' AS 'V'
ENDEXEC.
EXEC SQL.
SET CONNECTION 'V'
ENDEXEC.
EXEC SQL.
open c4 for SELECT password FROM OPENQUERY ( linked_server, 'SELECT password FROM test.V_test where id = 123' )
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT c4 into :lv_str
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDDO.
EXEC SQL.
CLOSE c4
ENDEXEC.
Moin Alex.
Ich empfehle Klassen/Methoden zu verwenden um Native SQL auszuführen.
(z.B. CL_SQL_STATEMENT / CL_SQL_CONNECTION ... )
Schau Dir bitte mal die Demos im Packet SDB_ADBC an !
Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag: alex.mallinger
<:: XING-Gruppe Tricktresor::> Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.