[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2008
    Beiträge
    38

    ODBC iSeries und logische Dateien...

    Hallo zusammen!

    Gibt es über CLI/ODBC eine Möglichkeit herauszufinden,
    zu welcher physischen Datei eine logische Datei gehört?
    D.h. irgendein treiberspezifisches Attribut einer
    SQLxxx-Funktion, wo der iSeries Access ODBC-Driver
    diese Information hineinstellt?
    (Also z.B. die Information "Basiert auf Datei" bei DSPFD)
    Im "iSeries Access for Windows:Programming"-PDF
    konnte ich auf die Schnelle nichts Entsprechendes finden
    (vielleicht liegt's ja auch an meiner Suchweise...).
    Danke für Infos+Tipps
    lg
    Chris

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Es gibt nur den Weg von PF zur LF, nicht umgedreht.

    Für eine PF kann man per CLI-SQLStatistics() die zugehörigen LF's abfragen.

    Index-Schemainformationen liefern keine LF's, wenn sie nicht per SQL mit CREATE INDEX erstellt wurden.

    Ansonste ist aus ODBC-Sicht eine LF eben eine Tabelle, an der selber leider keine LF's hängen können. Deshalb gibts da per ODBC/CLI keine Informationsmöglichkeiten.
    Der Zugriff auf eine LF als TABLE ist eben AS/400-spezifisch.
    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
    Nov 2008
    Beiträge
    38
    Alles klar!
    Danke f.d. Info!
    Den Weg PF -> LF verwenden wir bereits, müssen die
    Sache also offensichtlich andersrum angehen.
    lg
    Chris

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Mal ne Frage, für was brauchst du denn die LF-Infos, wenn SQL die LF's nur zur Optimierung benötigt ?
    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.365
    select view_name, tyble_name
    from mySchema.sysviewdep
    where view_name myView

    oder halt QSYS2 für alle, dann mus man schema_name noch mit abfragen

    D*B


    könnte hier weiterhelfen

    Zitat Zitat von caltmann Beitrag anzeigen
    Hallo zusammen!

    Gibt es über CLI/ODBC eine Möglichkeit herauszufinden,
    zu welcher physischen Datei eine logische Datei gehört?
    D.h. irgendein treiberspezifisches Attribut einer
    SQLxxx-Funktion, wo der iSeries Access ODBC-Driver
    diese Information hineinstellt?
    (Also z.B. die Information "Basiert auf Datei" bei DSPFD)
    Im "iSeries Access for Windows:Programming"-PDF
    konnte ich auf die Schnelle nichts Entsprechendes finden
    (vielleicht liegt's ja auch an meiner Suchweise...).
    Danke für Infos+Tipps
    lg
    Chris
    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
    Registriert seit
    Apr 2005
    Beiträge
    104
    Mit DSPFD kann man auch abfragen, welche PF's zu einer LF gehören.

  7. #7
    Registriert seit
    Nov 2008
    Beiträge
    38
    Danke für die Tipps!
    Das mit sysviewdep klappt in der Form leider nicht.
    Ich nehme an, es liegt daran, dass es "echte" logische
    Dateien sind, die nicht mittels SQL angelegt wurden.

    @Fuerchau:
    Wir brauchen das in dieser Form, da zum Kompilationszeitpunkt
    die Datei noch nicht feststeht. Es kann zur Laufzeit also
    durchaus sein, dass eine logische Datei
    (durch Anwender ausgewählt) verarbeitet werden muss.

    lg
    Chris

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das kann man aber verhinderen, da Schema-Informationen SQLTables() diese LF als VIEW ausweisen.
    Man kann also durchaus die Auswahl von VIEWS verhindern.

    Andererseits ist eine LF eben genau wie eine PF zu behandeln.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    dann könnte man immer noch in dem QAD* Geraffel in der QSYS rumstochern, da müsste das drin stehen, ist aber nicht unbedingt Release fest. Wenn man ein ordentliches Change Management hat, könnte man die Info auch nach Erstellung von logischen Dateien automatisiert abstellen.
    Was die Anforderung betrifft, das sieht doch danach aus, dass in Wirklichkeit eine Sortierung ausgewählt wird, das geht dann aber mit einem dynamisch erzeugten SQL Statement mit der entsprechenden order by Klausel wesentlich eleganter - und das ist auch für den Anwender dann durchschaubarer und flexibler.

    D*B

    Zitat Zitat von caltmann Beitrag anzeigen
    Danke für die Tipps!
    Das mit sysviewdep klappt in der Form leider nicht.
    Ich nehme an, es liegt daran, dass es "echte" logische
    Dateien sind, die nicht mittels SQL angelegt wurden.

    @Fuerchau:
    Wir brauchen das in dieser Form, da zum Kompilationszeitpunkt
    die Datei noch nicht feststeht. Es kann zur Laufzeit also
    durchaus sein, dass eine logische Datei
    (durch Anwender ausgewählt) verarbeitet werden muss.

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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Seit Einführung der QSYS2/SYSxxx stehen die QSYS/QAD* meist auf *PUBLIC *EXCLUDE, so dass man da nicht mehr so einfach wie früher (vor V4R3) drankommt.

    Aber das ist dann nicht mehr DB-neutral.
    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

  11. #11
    Registriert seit
    Nov 2008
    Beiträge
    38
    ..das mit dem SQL ORDER BY ist ohnehin schon angedacht,
    erfolgt aber sicher erst in einer späteren Phase,
    bzw. können wird das nach auslesen der SQLStatistics
    der physischen Datei dann ohnehin leicht realisieren,
    im Moment sollen gewisse Programmteile einfach
    1:1 übernommen werden,
    um die Anwender so wenig wie möglich zu verwirren.
    (Parallelbetrieb iSeries / Windows soll möglich sein)
    Danke + lg
    Chris

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    dann ist die SYSKEYS dein Freund, die PF muss der RLA Schinken kennen (irgendwo muss der ja rein lesen) und aus der SYSKEYS kann man sich dann unmittelbar den ORDER BY zusammensetzen.

    D*B

    Zitat Zitat von caltmann Beitrag anzeigen
    ..das mit dem SQL ORDER BY ist ohnehin schon angedacht,
    erfolgt aber sicher erst in einer späteren Phase,
    bzw. können wird das nach auslesen der SQLStatistics
    der physischen Datei dann ohnehin leicht realisieren,
    im Moment sollen gewisse Programmteile einfach
    1:1 übernommen werden,
    um die Anwender so wenig wie möglich zu verwirren.
    (Parallelbetrieb iSeries / Windows soll möglich sein)
    Danke + lg
    Chris
    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. IDEA, EXCEL, PDF aus iSeries Spools und Dateien
    By Kilianski in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 15-02-06, 09:19
  2. iSeries Access ODBC Driver und MS SQL Server ...
    By rcauchy in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 23-06-05, 13:28
  3. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43
  4. Zugriff von Access auf iSeries per ODBC
    By Unregistriert in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 14-01-05, 08:57
  5. ODBC - iSeries kein Update möglich
    By COMCON in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 09-12-04, 15:24

Berechtigungen

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