[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2011
    Beiträge
    94

    Fehler bei benutzerdefinierter Funktion in Teildatei SQLSCHEMAS. ODBC/JDBC

    Hallo zusammen,

    OS Version V7R2M0

    ich habe folgendes Problem:
    Fehler bei benutzerdefinierter Funktion in Teildatei SQLSCHEMAS. ODBC/JDBC
    Bei Auslesen der Schemas über ODBC oder JDBC kommt es im JOB QZDASOINIT zu folgenden Fehlern.

    Zeiger für angegebene Position nicht gesetzt.
    Zeiger für angegebene Position nicht gesetzt.
    Zeiger für angegebene Position nicht gesetzt.
    Fehler bei benutzerdefinierter Funktion in Teildatei SQLSCHEMAS.
    Fehler bei benutzerdefinierter Funktion in Teildatei SQLSCHEMAS.
    Fehler von Auslöserprogramm oder externer Routine erkannt.


    Nachricht . . . : Fehler bei benutzerdefinierter Funktion in Teildatei
    SQLSCHEMAS.
    Ursache . . . . : Beim Aufrufen der benutzerdefinierten Funktion
    OBJECT_STATISTICS in Bibliothek SYSIBM ist ein Fehler aufgetreten. Der
    Fehler trat beim Aufrufen des zugeordneten externen Programms oder
    Serviceprogramms QDBSSUDF2 in Bibliothek QSYS, Programmeingangspunkt bzw.
    externem Namen QSQOBSTAT, spezieller Name QSQOBSTAT, auf. Der Fehler trat
    bei Teildatei SQLSCHEMAS Datei SQLSCHEMAS in Bibliothek SYSIBM auf. Der
    Fehlercode ist 1. Fehlercodes und ihre Bedeutung:
    1 -- Das externe Programm oder Serviceprogramm hat SQLSTATE ■■000
    zurückgegeben. Die vom Programm zurückgegebene Textnachricht ist: ■■
    ■ .



    Kann da einer etwas mit anfangen?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das Problem tritt häufig nach Release-Wechsel auf der AS/400 auf.
    Folgende Aktionen auf der AS/400 beheben das Problem meistens:

    ENDHOSTSVR *DATABASE
    ENDPJ QUSRWRK QZDASOINIT *IMMED
    ENDPJ QUSRWRK QZDASSINIT *IMMED
    ENDPJ QSERVER QZDAINIT *IMMED
    DLTSQLPKG QGPL/QZDAPKG
    STRHOSTSVR *DATABASE
    STRPJ QSERVER QZDAINIT

    Das DLTSQLPKG funktioniert dann nur, wenn kein User eine ODBC-Verbindung geöffnet hat.
    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

  3. #3
    Registriert seit
    Mar 2011
    Beiträge
    94
    Geht das auch im laufenden Betrieb?

  4. #4
    Registriert seit
    Mar 2011
    Beiträge
    94
    Habe die Aktionen durchgeführt. Leider keine Erfolg.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Leider hat die IBM bei Schemaabfragen auf UDF's umgestellt.
    Wenn ggf. mit einem alten ODBC/JDBC-Treiber auf Schemata zugegriffen wird kann es auch zu Problemen kommen.
    Prüfe ob du mit den aktuellen Treibern des V7R2 (mit neuestem Servicepack) zugreifst.
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Noch zur Ergänzung:
    Ab V6R1 hat die IBM auf Schemaprozeduren umgestellt (warum auch immer).
    Der Aufruf der Prozedur erfolgt aus dem ODBC/JDBC-Treiber.
    Habe sich die Signaturen von V6R1->V7R1->V7R2 geändert klappt halt der Zugriff nicht mehr.
    Treiber bis V5R4 fragen die Schematabellen noch direkt ab und haben daher keine Probleme.

    In meiner Clientanwendung habe ich daher 2 Methoden eingebaut:
    a) Schemaabfrage
    b) eigene Abfrage
    Klappt also a) nicht, mache ich einfach mit b) weiter.

    Z.B. für Felder (Schemacolumns) mache ich einfach einen "select * from table fetch first 1 rows only" und lade mir die Feldliste des Resultsets.
    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

  7. #7
    Registriert seit
    Mar 2011
    Beiträge
    94
    Hallo Fuerchau,

    zur Info.

    Das Problem konnte heute gelöst werden.

    Laut IBM ist folgendes zu tun

    es sollte keiner mit SQL arbeiten.

    wie von dir beschrieben DLTSQLPKG QGPL/QZDAPKG

    zusätzlich löschen der SQLPKG MSACCE* on QGPL

    chgjob ccsid(273)

    CALL PGM(QSYS/QSQSYSIBM) PARM(FORCE) - lief bei uns ca. 5 Min

    Kontrolle
    dsppfm qsys2/qsqptabl es darf nur 1 Satz in der Tabelle stehen Hex 00 00 00 01

    Danach war der Fehler behoben.


    Gruß oulbrich

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das Löschen des QZDAPKG funktioniert häufiger erst nach ENDHOSTSVR *DATABASE, da das Paket durch QZDASOINIT geöffnet sein kann.
    Der zusätzlich CALL ist allerdings neu.
    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

Similar Threads

  1. Teildatei xx kann bei UPDPROD(*NO) nicht eröffnet werden.
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 31-10-13, 21:14
  2. SQL7008-Fehler bei ODBC-Zugriff
    By Sascha Storzum in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 10-08-02, 12:56
  3. DB/400 Verbindung via JDBC
    By Jacko in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 05-06-02, 10:50
  4. JDBC und Sicherheit
    By sufukli in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-01-02, 16:31
  5. Wiederfinden einer Teildatei (Source)
    By DD in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 05-07-01, 19:43

Berechtigungen

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