PDA

View Full Version : SQLRPGLE



HenningSpandau
05-11-09, 15:43
Hallo an alle,
wir haben ein SQLRPGLE Programm, in dem per SQL ein Insert auf eine vorhandene Tabelle durchgeführt wird. Wenn dieses Programm auf der Befehlszeile der 5250-Sitzung aufgerufen wird, dann ist alles ok.
Das Problem ensteht dann, wenn dieses Programm vom PC per SQL aufgerufen wird. Das Programm findet die in der From-Anweisung definierte Tabelle nicht. Der Job (in Subsystem QUSRWRK) zeigt, dass die Bibliothek, in der die Tabelle liegt, eingebunden ist.

Kann mir bitte, bitte jemand helfen
Danke
Henning

Fuerchau
05-11-09, 16:06
Per ODBC ist die Tabellensuche für nicht qualifizierte Namen auf *SQL und nicht auf *SYSTEM.
Somit wird die Tabelle auschließlich in der Default-Lib (meist Name des Users) gesucht.

Du musst in diesem Fall entweder
a) die Tabelle qualifiziert angeben
b) die Tabelle in die Default-Lib legen
c) die Default-Lib in der ODBC-Verbindung anpassen
d) Naming auf *LIBL in der ODBC-Verbindung konfigurieren

HenningSpandau
10-11-09, 16:14
Hallo Baldur,
ich bin Deinem Rat gefolgt.
Nun bekomme ich allerdings folgende Fehler:
____________________________
1. Pufferlänge größer als Satz für Teildatei AHIERTAB.
2. Teildatei AHIERTAB nicht in Journal *N aufgezeichnet.

_____________________________
zu 1. Weitere Nachrichteninformationen

Nachrichten-ID . . . . : CPF4011 Bewertung . . . . . . : 10
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 10.11.09 Sendezeit . . . . . . : 16:00:22

Nachricht . . . : Pufferlänge größer als Satz für Teildatei AHIERTAB.
Ursache . . . . : Die Dateisatzlänge für Teildatei AHIERTAB in Datei
AHIERTAB in Bibliothek PROR10DAT ist 195. Die Länge des Puffereintrags ist
208. Der Rest des Puffereintrags wird mit Leerzeichen aufgefüllt.
Fehlerbeseitigung: Falls erforderlich die im Programm angegebene Satzlänge
auf die Länge des längsten Satzes in der Teildatei ändern. Anschließend die
Anforderung wiederholen.
________________________________
zu 2. Weitere Nachrichteninformationen

Nachrichten-ID . . . . : CPF4328 Bewertung . . . . . . : 50
Nachrichtenart . . . . : Abbruch
Sendedatum . . . . . . : 10.11.09 Sendezeit . . . . . . : 16:00:22

Nachricht . . . : Teildatei AHIERTAB nicht in Journal *N aufgezeichnet.
Ursache . . . . : Die Teildatei AHIERTAB der Datei AHIERTAB aus der
Bibliothek PROR10DAT ist nicht im Journal *N in der Bibliothek *N für
COMMIT-Definition *DFTACTGRP aufgezeichnet.
-- Das angegebene Journal wird von der COMMIT-Definition *DFTACTGRP
verwendet. Wurde für das Journal *N angegeben, wird die Datei nicht
aufgezeichnet. Ist die Datei eine logische Datei, müssen alle
zugrundeliegenden physischen Dateien nicht in demselben Journal
aufgezeichnet sein, wie das die COMMIT-Steuerung erforderlich macht.
Fehlerbeseitigung: Sicherstellen, daß die geöffnete Datei aufgezeichnet
wird. Bei logischen Dateien sicherstellen, daß die zugrundeliegenden
physischen Dateien in demselben Journal aufgezeichnet werden.
______________________________
Dieses Problem ist auch nur dann vorhanden, wenn über ODBC gearbeitet wird.

Danke für die Hilfe
Henning

Fuerchau
10-11-09, 17:12
Auch hier gilt, Default-Einstellung ist mit COMMIT=*CHG.
In der ODBC-Konfig, COMMIT auf *NONE setzen, da deine Datei ja wohl nicht journalisiert wird.