Hallo,

ich habe folgendes Problem und hoffe, dass mir hier geholfen werden kann:

Mittels einer C#-Anwendung verbinde ich mich mittels OleDb auf unsere AS400.
Beim Verbindungsaufbau bestehen folgende "Standardbiblotheken"
Bibliothek Art
QSYS SYS
QSYS2 SYS
QHLPSYS SYS
QUSRSYS SYS
AGPL SYS
...

Über ein "Start-CL" werden u.a. folgende Biblotheken zur Biblotheksliste hinzugefügt:

Bibliothek Art = ProdUmgebungAGPL
...
INTOBJ
INTDTA
EXTOBJ
EXTDTA
EXTSYS
Über ein anderes "Start-CL" können folgende Biblotheken hinzugefügt werden:

Biblothek Art = DevUmgebung
AGPL
...
TESTOBJ
TESTDTA

Welches Start-CL ausgeführt wird, lässt sich zu Beginn des Programms dynamisch über eine ComboBox auswählen. (es gibt aktuell vier unterschiedliche)
In den Biblotheken INTDTA und TESTDTA liegen jeweils die gleichen Datenbanken, können aber aufgrund des Programmstands unter Umständen unterschiedliche Spalten beinhalten.

Nun versuche ich herauszufinden, welche Spalten mir in meiner ausgewählten Arbeitsumgebung zur Verfügung stehen.



  • Ein "DSPLIBL" lässt sich meines Wissens nach nicht in eine Datei ausgeben
  • mit "GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new Object... " erhalte ich alle Spalten, die aus der Prod- sowie Dev-Umgebung, und nicht die aus *LIBL.
  • Dito "select * from qsys2.columns"