Seite 2 von 2

Re: Tabellenstruktur kopieren

Verfasst: Di 9. Jul 2019, 10:06
von martin.koeditz
Guten Morgen Stefan,

es ging letztlich um das Auslesen der DDL-Strukturen auf DB-Ebene. Damit möchte ich Kopien einer Tabelle anlegen können. Mit Programmen wie FlameRobin etc. ist das natürlich kein Problem. Aber direkt auf DB-Ebene habe ich noch keine vollumfassende Lösung gefunden.

Gruß
Martin

Re: Tabellenstruktur kopieren

Verfasst: Di 9. Jul 2019, 10:09
von bfuerchau
Da gibt es keine native Unterstützung.
Mittels Schemaabfragen über den Treiber erhält man dann die Spalten-/Index-/Constraint-Informationen um sich damit dann die DDL's selber zusammen zu bauen.
Das ist eben dasselbe, was eben IBExpert, FlameRobin und andere für dich erledigen.

Re: Tabellenstruktur kopieren

Verfasst: Di 9. Jul 2019, 14:21
von martin.koeditz
Da gibt es keine native Unterstützung.
Mittels Schemaabfragen über den Treiber erhält man dann die Spalten-/Index-/Constraint-Informationen um sich damit dann die DDL's selber zusammen zu bauen.
Das ist eben dasselbe, was eben IBExpert, FlameRobin und andere für dich erledigen.
Das ist mir schon klar. Das gleiche müsste man aber auch über Stored Procedures direkt in der DB aufbauen können. Letztlich benötigt man ja "nur" ein SQL-Statement.

Gruß
Martin

Re: Tabellenstruktur kopieren

Verfasst: Mi 10. Jul 2019, 15:22
von bfuerchau
Klar geht das.
Viel Spaß dabei;-).

Am Besten kann man sich dafür die Quellen des .Net-Treibers herunterladen und sich ansehen, wie da die Schema-Informationen aus den RDB$-Tabellen ausgelesen werden.
Ins besonders die Übersetzung der numerischen Feldtypen in SQL-Typen, da ja die FB alles über interne Strukturen in den RDB$-Tabellen ablegt.
Dies gilt dann ebenso für Indizes, Constraints. Für Views ist der native SQL in einem BLOB abgelegt.
Das Hauptproblem dabei ist, dass eben die Felder einer Tabelle grundsätzlich über Domains definiert werden.

Re: Tabellenstruktur kopieren

Verfasst: Mi 10. Jul 2019, 16:28
von martin.koeditz
Am Besten kann man sich dafür die Quellen des .Net-Treibers herunterladen und sich ansehen, wie da die Schema-Informationen aus den RDB$-Tabellen ausgelesen werden.
Das ist eine gute Idee. Vielleicht etwas für einen Winterabend (oder -wochenende).

Dank und Gruß
Martin

Re: Tabellenstruktur kopieren

Verfasst: Mi 10. Jul 2019, 23:41
von joerg_b
Hallo Martin

du kannst von den alten Interbase/Firebird Komponenten IBX die Komponente IBExtract nutzen, wenn du Delphi oder sden CBuilder hast.
Die macht , glaub ich, so ziemlich das, was du suchst.