Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Relationen mit dbExpress auslesen (https://www.delphipraxis.net/106846-relationen-mit-dbexpress-auslesen.html)

Koolance 17. Jan 2008 16:14

Datenbank: Interbase • Version: 7.5 • Zugriff über: dbExpress

Relationen mit dbExpress auslesen
 
Hi,
ich modernisiere gerade meinen Sourcecodegenerator. Bis jetzt habe ich alle benötigten Informationen aus den Interbase Systemtabellen geholt. Jetzt probiere ich das ganze Datenbankübergreifend komplett mit dbExpress in Delphi 2007.

Tabellen, Felder und Feldtypen sind kein Problem.

Ich habe nur leider noch keinen Weg gefunden an die Relationen zu kommen.

Bernhard Geyer 17. Jan 2008 16:23

Re: Relationen mit dbExpress auslesen
 
Zitat:

Zitat von Koolance
Ich habe nur leider noch keinen Weg gefunden an die Relationen zu kommen.

Die Bestimmung der Relationsinfos liegen in Systemtabellen und ist von DB zu DB unabhängig und ich glaube nicht das dbExpress dir hier was abnimmt. Um DB-Unabhänig zu sein lege ich dir nah mal das Bridge-Pattern anzuschauen. Ist für DB-Kapslung sehr gut geeignet.

Koolance 17. Jan 2008 16:43

Re: Relationen mit dbExpress auslesen
 
Danke für die Antwort, aber das hilft mir leider nicht weiter. So wie ich das Bridge Pattern verstanden habe (ganz schnell das Wiki überflogen) ist es eine kleine Zwischenschicht. So müsste ich mich aber für jede Datenbank neue Datenbank mit den Systemtabellen beschäftigen. Das ist zu viel Aufwand.

Ich lasse die Frage mal noch ein paar Tage offen, wenn sich nichts ergibt bleibt mein Sourcecodegenerator halt ein Interbasetool :(

Bernhard Geyer 17. Jan 2008 16:47

Re: Relationen mit dbExpress auslesen
 
Zitat:

Zitat von Koolance
Ich lasse die Frage mal noch ein paar Tage offen, wenn sich nichts ergibt bleibt mein Sourcecodegenerator halt ein Interbasetool :(

Ach du hast bisher eh nur Interbase als Zielsystem. Gehe davon aus das die Relationsbestimmung nicht der einzige Punkt ist worin sich die Datenbanken unterscheiden. "Kleinigkeiten" werden auch sein: maximale Feldgrößen, Feldlängen, Erlaubte Bezeichner, SQL-Syntax bei DDL, DQL und DML, ...

Koolance 18. Jan 2008 07:49

Re: Relationen mit dbExpress auslesen
 
In Zukunft soll der SQL-Server dazu kommen und evtl Interbase sogar ganz ablösen, daher wäre es halt schön wenn das Tool datenbankübergreifend arbeitet. Da wir allerdings die Datenbank aus einem Case-Tool erstellen kann sie auch als Interbase erzeugt werden und das auch wenn Interbase raus ist. Ist halt nur etwas zusätzliche Arbeit.

Bernhard Geyer 18. Jan 2008 07:51

Re: Relationen mit dbExpress auslesen
 
Zitat:

Zitat von Koolance
In Zukunft soll der SQL-Server dazu kommen und evtl Interbase sogar ganz ablösen,

Wieso rausschmeißen. Lass doch den Kunden die entscheidung welches DBMS er haben will. Damit hast du schon eine Diskussion weniger...

Koolance 18. Jan 2008 07:58

Re: Relationen mit dbExpress auslesen
 
Das ist eine entscheidung die nicht am Entwickler hängt sondern an der Unternehmensleitung und der Supportabteilung (die Datenbankprobleme lösen muss). Interbase ist aufgrund vieler defekter DB's etwas in Misskredit geraten...

Mir persönlich ist es vollkommen egal welche DB dahinter ist mache dafür ja die Zwischenschicht mit meinem Sourcecodegenerator die Datenbankübergreifend wird :)

hoika 18. Jan 2008 08:00

Re: Relationen mit dbExpress auslesen
 
Hallo,

unter DBX.MetaData soll ja alles stehen (DBExpress4),
im Entwickler 1.08 ist ein kleiner Artikel.

Was sind denn Relationen ?
Das sind doch afaik Tabellen.
Oder meinst du sowas wie foreign keys ?

Edit:
Gerade noch was gefunden.

Obwohl Datenbankserver auch andere Arten von Metadaten definieren, werden diese aus Gründen der Einfachheit nicht unterstützt. Treiberautoren können solche zusätzlichen Metadaten offenlegen, indem Sie die Optionen der getOption- und setOption-Methoden erweitern.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz