![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZeosLib Components
Firebird-Datenbank per Code erstellen
Moin Moin liebe DPler ;)
Ich code momentan ein Programm das CSVs einliest ... und diese Daten in eine Datenbank bzw. Tabelle "kopieren" soll ... als "Export-Datenbank" will ich Firebird nehmen ... nun ist es so ... dass ich 2 Optionen haben möchte ... 1. Option = Daten in neue Datenbank kopieren # Dazu muss natürlich erst eine Datenbank erstellt werden. Per Dialog kann der Anwender sich die entsprechenden Felder zusammenbauen plus Releationen festlegen 2. Option = Daten in eine vorhandene Datenbank kopieren # Hier muss festgelegt werden welche CSV "Spalte" in welches Datenbankfeld kopiert werden soll ... Da ich nun bei Option 1 festhänge ... hab ich mir gedacht dass evtl. jemand einen Vorschlag für die Umsetzung hat. Ich hatte mir gedacht dass man bestimmt die "isql" Kommandozeile mit Parametern ausführen kann, die dann die Datenbank erstellt. Leider finde ich keine passende Dokumentation beim Firebird Webauftritt. Ich hab noch nie mit den Commando-Tools gearbeitet ... weil in IBExpert die Sache wesentlich einfacher und schneller geht. Ich hoff ihr könnt mir helfen ;) Vielen Dank im Vorraus Euer f4k3 ;) :P |
Re: Firebird-Datenbank per Code erstellen
Weil Du IBExpert schon ansprichst:
1. Erzeuge Dir doch die Datenbank erst einmal "von Hand" im IBExpert. 2. Metadaten extrahieren (inkl. aller Tabelleninhalte!!!) IBExpert erzeugt Dir ein Script, dem Du beispielhaft die benötigten Kommandos entnehmen kannst... |
Re: Firebird-Datenbank per Code erstellen
Du verwechselt etwas die Begriffe "Datenbank" und "Tabelle".
Das erstellen einer neuen Datenbank sollte nicht in deiner Anwendung stattfinden. Beim Anlegen einer neuen Datenbank sind Entscheidungen (Berechtigungen, Speicherort,...) zu treffen, die dein Programm eigentlich nichts angehen. Das ist eine administative Aufgabe. Ein neue Tabelle kannst du per SQL mit CREATE TABLE anlegen. Dann musst du dem Benutzer aber einen Dialog anbieten, in dem er alle Felder mit Namen und Datentyp festlegen kann und zusätzlich die Primärschlüsselfelder anwählen kann. |
Re: Firebird-Datenbank per Code erstellen
hi,
die TXXXDatabase (TUIBDatabase, TZeos,...) haben eignetlich auch eine Methode um eine Datenbank zu erzeugen (CreateDatabase). Um Tabellen in der DB zu erzeugen verwendest Du einfach eine Query-Komponente und "wandelst" die Eingaben die der user im Dialog macht in entsprechende SQL-Befehle um (Create Table () usw.). Ich finde diese Aussage zwar etwas pauschal: Zitat:
Lemmy |
Re: Firebird-Datenbank per Code erstellen
Zitat:
f4k3 |
Re: Firebird-Datenbank per Code erstellen
Hallo,
ich habe mal im ![]() ![]() |
Re: Firebird-Datenbank per Code erstellen
Zitat:
aber nach den Vorgaben des Endzustandes muss diese Funktion enthalten sein. Dieses Programm / Tool muss universell sein. Und es muss in soweit Programmiert sein, dass es nahezu keine Wünsche offen lässt. Es sollen alle CSVs eingelesen werden können, egal mit welchen Separator oder sonstigen Spezifikationen. Und die Daten aus der CSV müssen aus Testgründen in Paradox, MSSQL und Firebird Tabellen "exportierbar" sein. Da ich dem Anwender soviel Arbeit und Einarbeitszeit wie möglich ersparen möchte, muss ich auch die Möglichkeit schaffen neue Datenbanken und Tabellen zu erstellen. Auch wenn es evtl. nicht schlüssig erscheinen sollte, alles andere wäre unpraktikabel und würde den Anruf mehrere Kommandozeilen oder Anwendungen erfordern. Zitat:
Du hast natürlich recht und ich danke dir für den Tipp ;) |
Re: Firebird-Datenbank per Code erstellen
Zitat:
aber über den Query + DDL wird es denk ich sicher möglich sein ;) Danke für dein Feedback f4k3 |
Re: Firebird-Datenbank per Code erstellen
Zitat:
Es gibt eine Methode ... Allerdings ist mir noch nicht ganz klar wie das ganze funktionieren soll :( ich greif mal das Beispiel von RWarnecke auf ... Der Code enthält in der Uses folgende Einträge ... ZTransact, ZIbSqlTr, ZQuery, ZIbSqlQuery, ZConnect, ZIbSqlCon; also entweder entsprechen diese einer anderen version ... weil meine ZLib-Uses sehen so aus: ZAbstractRODataset, ZAbstractDataset, ZAbstractTable, ZDataset, ZConnection, ZSequence, ZSqlMonitor, ZSqlProcessor, ZSqlMetadata, ZStoredProcedure, ZSqlUpdate; und ich habe die oben genannten auch nicht. Es handelt sich doch um die ZEOSLib oder?! Gruß f4k3 |
Re: Firebird-Datenbank per Code erstellen
Ja, aber in der Version 5.x. Ich glaube es war zur Version 6 hin, wo die die Namen geändert haben.
Edit: Ich habe leider gerade kein Delphi mit Zeos zur Hand. Aber wenn Du über die IZConnection gehst, müsste es genau so gehen. Wenn das nicht klappt, muss ich es heute Abend mal an meinem Rechner daheim ausprobieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz