[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2007
    Beiträge
    70

    Smile ODBC-Fehler 7008 / Journalisierung

    Ohne Journalisierung kann ich wohl keine Daten via SQL schreiben/ändern.

    jetzt habe ich das Problem, das auf unserer neuen Maschine (I7) ich per ODBC kein logisches File mehr beschreiben kann (auf der alten I5) ging das.

    Versuche ich die Datei an ein Journal zu hängen erhalte ich folgende Fehlermeldung

    STRJRNPF FILE(X420PRDUM/BEKOEL10) JRN(#MIMIXJRN/XPPSJRN) OMTJRNE(*OPNCLO)

    Datei BEKOEL10 in Bibliothek X420PRDUM ist keine physische Datei.


    Wir kann ich auf der I7 Maschine auch wieder logische Sichten mit SQL aktualisieren ?

    Danke für die Hilfe

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da du wohl die ODBC-Konfig neu machen musstest, hast du wohl vergessen dort den Commit-Modus wieder auf *NONE (Sofort) zu stellen.
    Register Server, dann "Erweitert".

    Dann brauchst du auch kein Journal mehr.

    PS:
    LF's brauchen nicht journalisiert zu werden, nur PF's.
    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
    Aug 2001
    Beiträge
    2.928
    Warum in aller Welt willst Du mit SQL eine logische Datei beschreiben/verändern?
    Warum nicht die physische?
    Bist Du sicher, dass es sich bei Deiner logischen Datei nicht um eine joined logische Datei handelt (bei der mehrere Dateien miteinander verknüpft sind)?
    Joined Files können nicht upgedated werden!

    Ansonsten kannst Du jederzeit ohne Journalisierung mit SQL in eine Tabelle/physische Datei oder (ungejointe) Views oder (ungejointe) logische Dateien schreiben. Das ist lediglich eine Einstellung in der ODBC-Konfiguration.

    Weiterhin kannst Du ans Ende jedes Insert, Update oder Delete-Statements WITH NC (= with No Commit/Ohne Commit) hinzufügen und dann wird dieses Statement NICHT unter Commit ausgeführt.

    Birgitta
    Birgitta Hauser

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

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    70

    Cool

    Wie immer vielen Dank für die Hilfe.

    Habe es in der ODBC Verbindung angepasst.

    Aber kann es sein das wenn ich die Bibliothek im Reiter Server im Feld Bibliotheksliste eintrage und nicht im Feld Standardbibliothek, dass es nicht funktioniert ?

    Ich möchte wenn es möglich ist nur noch 1 ODBC Verbindung haben, die dann alle benötigten AS400 LIB enthalten.

    Einzel - Eintrag in SQL-Standardbibliothek dann funktioniert es mit dem update.

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Du musst in der Konfiguration die Namenskonventionen von *SQL auf *SYS ändern.

    Beim SQL-Naming kann immer nur auf eine einzige Bibliothek unqualifiziert zugegriffen werden.

    Bei der Verwendung des System-Namings kannst Du die Bibliotheksliste vorgeben (und solltest die Standard-Bibliothek entfernen).

    Birgitta
    Birgitta Hauser

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

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    70
    Hallo Britta,

    ok verstanden. Habe ich umgestellt alle benötigten LIB in der Zeile Bibliotheksliste angegeben -dennoch SQLFehler 7008.

    Eine einzelene ODBC-Verbindung nur auf diese LIB dann geht es. (keine JOIN LF)

    Habe ich hier doch eine Möglichkeit dass dies unter 1 ODBC funktioniert ?

    Danke
    Franz

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wobei da gerade Vorsicht anzuraten ist.
    Wie schnell kann da die falsche Datei geändert sein, ins besonders wenn man den selben Namen in mehreren Libs hat, dann entscheidet die 1. Lib.
    Wenn mehrere ODBC-Anwendungen auf die selbe Datei aber in anderen Libs benötigt wird ist sowieso jeweils eine DSN erforderlich um die Reihenfolge der Libs zu definieren.

    Bei der Konvention von *SYS ist zusätzlich zu beachten, dass die Namenskonvention bei qualifizierten Zugriffen nun LIB/SYS ist!
    Hast du also schon Selects mit "... join lib.name ..." dann funktionieren diese nicht mehr.

    Auch Funktionen/Proceduren lassen sich dann generell nicht mehr qualifiziert aufrufen:

    select mylib/myfunc() ...
    geht nicht mehr, da jetzt der Divisor erkannt wird, "mylib.myfunc()" klappt aber nur in *SQL-Naming.

    Aber in der Verbindungseigenschaft beim Connection-Object kannst du ja Einstellungen der DSN überschreiben:

    ConnectionString = "DSN=MyDSN;DBQ=MYLIB;"

    usw.
    Dann ist es egal was du konfigurierst (außer dem Zielsystem), den Rest machst du dann per Programm.
    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
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Wird denn die *physische* Datei, an der diese logische Datei hängt, im Journal aufgezeichnet?

    Zitat Zitat von Franz Karl Beitrag anzeigen
    Versuche ich die Datei an ein Journal zu hängen erhalte ich folgende Fehlermeldung

    STRJRNPF FILE(X420PRDUM/BEKOEL10) JRN(#MIMIXJRN/XPPSJRN) OMTJRNE(*OPNCLO)

    Datei BEKOEL10 in Bibliothek X420PRDUM ist keine physische Datei.

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn du immer noch SQL7008 bekommst, steht die Verbindung halt noch auf Commit.

    Die Frage ist nun, wie due den Update machst und mit welchem Programm.
    MS-Access zieht sich die ODBC-Einstellungen direkt in die Tabelleneigenschaften, eine spätere Änderung der DSN hat keine Auswirkung.
    Über den Verknüpfungsmanager musst du die Verknüpfungen aktualisieren.
    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
    Jan 2007
    Beiträge
    70

    Smile

    Das war es - diese Datei wurde nicht aufgezeichnet.

    Danke

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Bei der Konvention von *SYS ist zusätzlich zu beachten, dass die Namenskonvention bei qualifizierten Zugriffen nun LIB/SYS ist!
    Hast du also schon Selects mit "... join lib.name ..." dann funktionieren diese nicht mehr.

    Auch Funktionen/Proceduren lassen sich dann generell nicht mehr qualifiziert aufrufen:

    select mylib/myfunc() ...
    geht nicht mehr, da jetzt der Divisor erkannt wird, "mylib.myfunc()" klappt aber nur in *SQL-Naming.
    Wenn das mit SQL und System-Naming nur sooooooo einfach wäre!
    System versus SQL naming – part 1
    System versus SQL naming – part 2

    Birgitta
    Birgitta Hauser

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

Similar Threads

  1. ODBC Fehler
    By Starocotes in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 22-08-14, 08:53
  2. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  3. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41
  4. SQL Fehler 7008 beim Update aus Access trotz Commit=*NONE
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-11-04, 10:15
  5. ODBC Fehler beim Exportieren auf AS400
    By Langesv in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 02-09-04, 15:57

Berechtigungen

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