DB2 Tabellen, Gespeicherte Prozeduren, Trigger etc. Anzeigen/Export

  • C#
  • .NET (FX) 4.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    DB2 Tabellen, Gespeicherte Prozeduren, Trigger etc. Anzeigen/Export

    Guten Morgen,

    ich sitze derzeit an einem Tool, welches mir folgende Informationen anzeigen soll:
    Tabellen Beschreibung (Namen der Spalten, der entsprechende Typ, Nullable, Default)

    dann die entsprechenden Tabellen constraints (mit den Namen, Typ (Check constraint, PrimaryKey etc.)

    und die Tabellen indices (Namen, Type (bsp Unique), und die Order (("ID:ASC")).
    Das gleiche für Sequenzen (Name, MinMax, Increment, Cycle, Order, Cache, LastNumber);
    Funktionen, Trigger, Prozeduren (hierbei wird jedoch der direkte Create Script ausgegeben)
    Das klappt soweit FAST.

    Nun gehe ich bei der DB2 auf folgende Tabellen, um die besagten Informationen zu bekommen:
    Tabellen: sysibm.systables
    Tabellen, Spalten: select * from SYSCAT.COLUMNS
    Tabellen, constraints : select * from SYSCAT.CHECKS
    Tabellen, indices: SYSCAT.KEYCOLUSE ; SYSCAT.INDEXCOLUSE ; SYSCAT.INDEXES (via JOIN)
    Sequenzen: select * from syscat.sequences
    Trigger: SELECT * FROM SYSCAT.TRIGGERS
    Routinen(Funktionen): syscat.routines
    Prozeduren: syscat.PROCEDURES;

    Die Querys werden nach dem Hinterlegten SQL Benutzer sortiert (bsp. maxhans [OWNER]), sodass auch nur seine Daten angezeigt werden.

    Ich bin mir nicht 100%tig sicher, ob die Informationen die ich benötige, auch tatsächlich
    aus den richtigen Tabellen bezogen werden, da wäre eine kurze Bestätigung von nöten (habe zuvor nie mit DB2 gearbeitet)

    Nun soll das ganze aufgelistet, was theoretisch bis auf ein paar falsche Datentypen (die ich noch falsch "umwandel") funktionieren.

    Der ganze Spaß soll dann Exportiert werden und Importiert werden können, der Export scheint, quasi, zu Funktionieren.
    Ich kriege die Create Statements für die Tabellen, Prozeduren etc. Allerdings meckert er durchweg beim Import.

    Nun besteht die Möglichkeit, via DB2 Datenbankverwaltung, einen DDL generator durchzuführen, damit die einzelnen Tabellen direkt Exportiert werden,
    und mit einem entsprechend erstellten Script, erstellt bzw überschrieben werden können.

    Gibt es eine API, oder einen Query, diesen aus dem Programm aufzurufen, bevor ich mich weiter damit abquäle,
    die Querys korrekt aufzubauen, sodass ich das gewünschte Ergebnis bekomme?

    Wäre nett, wenn mir ggf. jemand ein paar Hinweise geben würde.

    Es hat leider die oberste Priorität das alle Verweise, Beziehungen PrimaryKeys, Fremdkeys etc.
    Exportiert und richtig Importiert werden.

    Gruß, und danke!

    p.s. die Software wird in C# umgesetzt.
    Die DLL's von IBM (IBM.Data.DB2.Entitiy ; IBM.Data.DB2) sind bereits Importiert.