[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005

    SQL0901-Fehler

    Hallo,

    wir haben ein Java-Programm im Einsatz, das bereits seit Jahren problemlos läuft und per SQL diverse Daten von der AS/400 ermittelt. Die Hintergründe tun hier nichts zur Sache.
    Seit einer Woche erhalte ich seltsamerweise folgende Fehlermeldung:

    Code:
    Fehler: [SQL0901] SQL-Systemfehler.                                             
    java.sql.SQLException: [SQL0901] SQL-Systemfehler.                              
     at com.ibm.as400.access.JDError.throwSQLException(JDError.java:703)            
     at com.ibm.as400.access.JDError.throwSQLException(JDError.java:669)            
     at com.ibm.as400.access.AS400JDBCStatement.commonExecute(AS400JDBCStatement.jav
    a:963)                                                                          
     at com.ibm.as400.access.AS400JDBCStatement.executeQuery(AS400JDBCStatement.java
    :2275)
    Das scheint ein sehr allgemeiner SQL-Fehler zu sein und ich kann daraus leider nix rauslesen. Außerdem werden viele Server-Dumps (QPSRVDMP) in der OUTQ QEZDEBUG erstellt, die aber auch in erster Linie nur kryptische Zeichen enthalten.

    Nachdem weder an der Systemumgebung, noch am Programm irgendetwas geändert wurde, würde ich jetzt mal vermuten, dass das SQL-Package QZDAPKG einen Schuss hat. Soll ich das mal löschen und neu erstellen lassen? Oder habt Ihr andere Tipps?

    Vielen Dank,
    KM

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Das Erstellen des Packages ist zumindest ein guter Ansatz.

    Ansonsten ist SQL0901 ein Systemfehler, den an die IBM gemeldet werden sollte. Die System-Dumps sind für die Analyse durch IBM hilfreich.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    ok, dann werde ich das SQL-Package mal löschen und neu erstellen lassen. Mal sehen wie es danach aussieht.

    Vielen Dank,
    KM

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Ggf. wäre das SQL schon interessant ob überhaupt Schemaabfragen verwendet werden müssen die vom QZDAPKG gespeichert sind.
    Es kann auch das, ggf. autmatisierte, SQLPKG der Anwendung sein (meist in QGPL). Dieses kann ebenso einfach gelöscht werden.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... package Verwendung wird mit Treiber Properties gesteuert - und am besten schaltet man das ab. Der sogenannte extended dynamic package support hilft wenig und schadet manchmal massiv.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    package Verwendung wird mit Treiber Properties gesteuert - und am besten schaltet man das ab. Der sogenannte extended dynamic package support hilft wenig und schadet manchmal massiv.
    Das verwenden wir in unserem Fall gar nicht.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Das ist en Problem denn der Default ist eben "mit SQLPKG", man muss es leider explizit ausschalten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    der Default ist eben "mit SQLPKG", man muss es leider explizit ausschalten.
    Wo steht das? Der Default ist "false". Siehe hier

    http://publib.boulder.ibm.com/infoce...roperties.html

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    OK, Danke.
    JDBC arbeitet da wohl "vernünftiger" als ODBC, da ist der Default true.

    Ist das Zielsystem ggf. V7?

    Ich habe da auch sporadisch Probleme mit "select * "-Abfragen.
    Neben Querytimeout auf leeren Dateien auch andere Fehler, meist "invalid columninfo".

    Abfragen mit Feldnamen funktionieren grundsätzlich.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Zitat Zitat von KM Beitrag anzeigen
    Das verwenden wir in unserem Fall gar nicht.
    ... dann bringt das löschen auch nix!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    ... dann bringt das löschen auch nix!
    stimmt, das hab ich jetzt auch festgestellt. Ich hab die SQL-Packages alle gelöscht und hab immernoch dasselbe Problem.

    Jetzt ist mir aufgefallen, dass dieser SQL0901-Fehler nur bei einem bestimmten SQL-Statement im Java-Programm auftritt. Die anderen SQLs funktionieren problemlos.

    Bei folgendem SQL-Select tritt der Fehler im Java-Programm auf. In einer anderen Umgebung (z.B. STRSQL oder Squirrel) funktioniert er:

    Code:
    select cast(IAARTN as char(10) ccsid 1141), cast(TSARTN as char(10) ccsid 1141) 
    from LIB.DATEI1 A, LIB.DATEI2 B where A.IAARTN = B.TSRENR and IAFINR = 1
     and IAPGRU <> 0 and IASTYP = 1 order by A.IAARTN, B.TSARTN
    Jetzt hab ich mal die FROM und WHERE Klausel etwas geändert (auf inner join), so dass aber trotzdem dasselbe Ergebnis rauskommt:

    Code:
    select cast(IAARTN as char(10) ccsid 1141), cast(TSARTN as char(10) ccsid 1141) 
    from LIB.DATEI1 A inner join LIB.DATEI2 B on A.IAARTN = B.TSRENR and IAFINR = 1 where IAPGRU <> 0 and IASTYP = 1 order by A.IAARTN, B.TSARTN
    Damit funktioniert's nun auch wieder im Java-Programm.
    Kann mir das jemand erklären?

    Gruß,
    KM

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... wenn sich das im Java Programm und Squirrel wirklich unterschiedlich verhält (und das nicht an anderen Auswahlwerten etc. legt), dann müssen die Treiber unterschiedlich sein und der eine ist buggy.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. JDBC Abfrage mit DB-Tool , SQL0901 Fehler
    By COS in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-11-08, 08:13
  2. Os400 Fehler ?
    By Robi in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 04-11-06, 16:02
  3. Fehler: SQL0302 Umsetzungsfehler / ado
    By Asti in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 29-08-06, 13:24
  4. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  5. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •