[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2007
    Beiträge
    55

    SQL Select für Dateisysteme (Verzeichnisinhalte)

    Hallo zusammen,

    gibt es ab V7R3 ein SQL Select, mit dem ich Verzeichnisinhalte meiner Dateisysteme ausgeben kann?

    Danke für Eure Hilfe und bleibt gesund.

    VG Dirk

  2. #2
    Registriert seit
    Apr 2019
    Beiträge
    19

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.621
    Schau Dir doch mal die Tabellen-Funktion IFS_Object_Statistics an:

    Die folgende Abfrage bringt liest die Verzeichnisstruktur (incl. Sub-Directories) unter '/home/YourDir1/YourDir2) aus.
    Code:
    Select * 
       from Table(IFS_Object_Statistics('/home/YourDir1/YourDir2')) x
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion 2020
    Virtuelle SQL und RPG Schulungen

  4. #4
    Registriert seit
    Feb 2007
    Beiträge
    55
    Hallo xenofob und Birgitta,

    Danke für Eure raschen Antworten!

    @Birgitta: Was mache ich aber falsch?

    Ich sende ab:
    Select *
    from Tables(IFS_Object_Statistics('/usr/bin/')) x

    und erhalte zurück:
    Nachrichten-ID . . . . : SQL0104


    Nachricht . . . : Token ( ungültig. Gültige Token: FOR USE SKIP WAIT WITH
    FETCH LIMIT ORDER UNION EXCEPT OFFSET.

    Danke und Gruß, Dirk

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.715
    Select *
    from Table (IFS_Object_Statistics('/usr/bin/')) x

    funktioniert, gibt aber nur *pointer als pfad / name zurück
    Interessante Umfrage zur Nutzung der AS/400

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    18.589
    Dies sind LOB-Locaters und können per Locater-Funktionen bearbeitet werden.
    https://www.ibm.com/support/knowledg..._uselocat.html
    Ggf. kann man auch per substring die Locator's auslesen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.621
    Das liegt daran, dass Du mit STRSQL arbeitest und das wurde seit Release 4.5 nicht mehr erweitert!
    Verwende ACS (Access Client Solutions) Run SQL Script und schon siehst Du die Werte.

    Was die Verarbeitung angeht, so kannst Du bei embedded SQL die Werte auch ganz normal in eine CHAR oder besser VARCHAR Variable übernehmen.

    Wenn Du den Inhalt der Dateien benötigst, solltest Du zusätzlich mit GET_CLOB_FROM_FILE oder GET_BLOB_FROM_FILE. Beide bringen einen LOB-Locator zurück. In embedded SQL definierst Du einen LOB-Locator mit SQLTYPE.

    Code:
    DCL-S  MyLobLoc    SQLTYPE(CLOB_Locator);
    Den LOB-Locator kannst Du dann mit SQL-Funktionen (z.B. SUBSTR oder LOCATE) bearbeiten wie eine alphanumische Variable.

    Aber Achtung: LOB Locators können nur unter Commitment Control verwendet werden. (COMMIT/ROLLBACK geben den im Untergrund allocierten Pointer frei)

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion 2020
    Virtuelle SQL und RPG Schulungen

  8. #8
    Registriert seit
    Feb 2007
    Beiträge
    55
    Wow, Danke Euch zusammen für diese wertvollen Infos.

    Bleibt gesund, Gruß Dirk

  9. #9
    Registriert seit
    Aug 2003
    Beiträge
    1.472
    Du kannst den pointer auch in ein VARCHAR konvertieren, dann siehst du im STRSQL auch ein Ergebnis.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    18.589
    Aber Achtung:
    Bei der Umwandlung in CHAR/VARCHAR darf die max. Satzlänge von 32KB immer noch nicht überschritten werden. Daher mein Hinweis, die Daten ggf. per SUBSTRING zu verkürzen damit der Cast in VARCHAR auch nicht zu Fehlern führt.
    U.U. musst du die Daten auch in N[VAR]CHAR casten da sie ggf. Unicode (DBCLOB) enthalten.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

Ähnliche Themen

  1. SQL SELECT auf MS-SQL Datenbank
    Von mgraskamp im Forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 31-01-20, 09:08
  2. SQL Select mit Parameter
    Von RPG_KL im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 28-01-19, 06:28
  3. SELECT INTO .....
    Von alex61 im Forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 12-07-16, 09:23
  4. SQL / Select auf LF / Optimizer
    Von harkne im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 23-10-15, 09:36
  5. SQL Select
    Von TARASIK im Forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-09-02, 10:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •