Hallo,
folgendes Problem.
Ein OPM-RPG-Programm ist als Store Procedure registriert.
Dieses ruft per dynamischem CALL ein SQLRPG-PGM auf.
Das SQLRPG-PGM verwendet folgende Anweisungen :
Code:
C* SQL-Cursor
C/EXEC SQL
C+ DECLARE BstCursor CURSOR FOR
C+ DynSqlStmt
C/END-EXEC
...
C* Verarbeitung vorbereiten
/EXEC SQL
C+ PREPARE DynSqlStmt
C+ FROM :SQLSTM
C/END-EXEC
...
C/EXEC SQL
C+ OPEN BstCursor
C/END-EXEC
...
C* Druckerwarteschlange
C/EXEC SQL
C+ FETCH BstCursor INTO :OUTQ
C/END-EXEC
...
C* Verarbeitung beenden
C/EXEC SQL
C+ CLOSE BstCursor
C/END-EXEC
Das Feld SQLSTM enthält ein einfache SQL-SELECT Anweisung.
Beim Öffenen des Cursors tritt folgender Fehler auf :
Code:
Nachrichten-ID . . . . : SQL0579 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 17.11.05 Sendezeit . . . . . . : 15:49:21
Nachricht . . . : Lesen von SQL-Daten nicht zulässig.
Ursache . . . . : Einer der folgenden Fehler ist aufgetreten:
-- Es wurde eine Prozedur oder Funktion aufgerufen, die mit CONTAINS SQL
DATA als Datenzugriffsattribut erstellt wurde. Eine Prozedur oder Funktion,
die mit CONTAINS SQL DATA erstellt wurde, oder eine Prozedur oder Funktion,
die von der Prozedur oder Funktion aufgerufen wird, darf keine Daten lesen
und keine Prozedur oder Funktion aufrufen, die das Attribut READS SQL DATA
hat.
-- CONTAINS SQL DATA darf in den Anweisungen CREATE PROCEDURE oder CREATE
FUNCTION für eine SQL-Prozedur oder -Funktion nicht angegeben werden, wenn
der Routinenteil Anweisungen enthält, die Daten ändern.
-- Ein Auslöser, der SQL-Anweisungen enthält, wurde aktiviert.
Weitere ...
Wo liegt das Problem, bzw. was ist mein Fehler ?
Danke Sven!
Bookmarks