Entwickler-Ecke
Datenbanken - Zeos-GetTableNames und Systemtabellen
mtm - Fr 09.04.10 11:59
Titel: Zeos-GetTableNames und Systemtabellen
Hallo zusammen !
Ich arbeite seit kurzem mit Zeos 6.6, ich möchte nun per GetTableNames die Tabellen einer Datenbank auslesen. Funzt eigentlich auch ganz gut, ich habe nur ein Problem. Ich möchte gerne nur die User-Tabellen und nicht die System-Tabellen zurückbekommen. bei ADO-Connection gibt es dafür einen Parameter, bei Zeos nicht.
Kann mir jemand einen Tip geben, wie ich das bewerkstelligen kann.
Danke im Voraus
mtm
hansa - Fr 09.04.10 14:52
Z.B. so :
Delphi-Quelltext
1: 2:
| if pos ('$',TableName) = 0 then begin ... |
Das geht zumindest, sofern man sich an gewisse Richtlinien hält und nicht in den eigenen TabellenNamen ein $ vorkommt.
Xentar - Fr 09.04.10 14:56
Kannst du nicht in den ADO Quellcode reinschauen, wie die das machen?
mtm - Fr 09.04.10 16:31
Hilft mir leider auch nicht weiter, die machen das über ein ADOConnection.OPENSCHEMA.
Das hab' ich bei Zeos ja nicht zur Verfügung.
Dabei tut sich ein weiteres Problem auf.
System-Tables kann ich über das '$' im Namen zwar von User-Tables unterscheiden, wie unterscheide ich aber Tables von Views ?
Xentar - Fr 09.04.10 16:50
In den meisten Fällen kennt man doch die Datenbank, mit der man arbeitet, und weiß dann, ob es eine Tabelle oder ein View ist?
mtm - Fr 09.04.10 17:47
Vielleicht hätte ich sagen sollen, was ich eigentlich machen möchte.
Ich möchte ein kleines Progrämmchen entwickeln, mit dem ich Firebird-DB's anschauen und verwalten kann. Es soll also für alle DB's funktionieren.
Habe aber einen Weg gefunden :
Ich lese einfach die SYSTEM-Tabelle 'RDB$RELATIONS' aus. Da stehen alle Infos drin, die ich brauche.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!