Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Richtige Datenbanken zur Laufzeit erstellen (https://www.delphipraxis.net/17241-richtige-datenbanken-zur-laufzeit-erstellen.html)

scouty 1. Mär 2004 17:57


Richtige Datenbanken zur Laufzeit erstellen
 
Mal eine kurze Frage zu Interbase oder auch generell zu Datenbanken in Verbindung mit Delphi. Wie kann ich eine Datenbanke (DataBase) zur Laufzeit generieren??? Um Missverständnisse gleich auszuräumen, mit DataBase meine ich keine TIBDatabase- oder TDataBase-Komponente, denn diese stellen ja eigentlich nur eine Verbindung zu einer schon vorhanden Datenbank zum Beispiel lokal bei Interbase in Form einer GDB-Datei dar. Ich habe jedoch lediglich Interbase oder Firebird auf meinem Rechner laufen, die lokale Datenbank bzw. die GDB-Datei will ich dann zur Laufzeit erstellen und dann später in meinem Programm verwenden.

Die Frage ist: Geht das überhaupt mit Delphi und wenn ja WIE???

Greetings Scouty

Robert_G 1. Mär 2004 17:59

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Wenn du das in der jeweiligen Oberfläche/Kommandozeile der DB beherrschst.
Dann kannst du die gleichen SQL-Statements (DDL) auch aus deiner Delphi-App an den DB-Server schicken.

scouty 1. Mär 2004 18:03

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Klingt nicht gerade einfach, denn ehrlich gesagt, habe ich noch nie eine Datenbank über die Commandozeile eingerichtet. Allerdings ist die Idee durchaus überlegenswert, obwohl ich immer noch hoffe, dass es sich vielleicht doch noch eine einfacherer Alternative findet :gruebel:

Aber vielen Dank für den Tipp

Robert_G 1. Mär 2004 18:07

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Nicht das ich wüsste.
SQL ist nunmal die Sprache, die DBs verstehen. Wenn du dich mit Datenbanken auseinandersetzen willst, dann mach' dich zuerst in SQL schlau.
Das Wissen kannst du dann (leicht angepasst) für jede "richtige" DB benutzen.

scouty 1. Mär 2004 18:13

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Na ja, es ist nicht so, dass ich mit SQL noch nicht gearbeitet hätte. Dennoch habe ich noch nie eine Datenbank damit erstellt. Das haben bisher immer die Programme für mich erledigt. Mit SQL habe ich dann nur die Datenbanken verwaltet. Aber vielleicht hast Du Recht, wenn ich so an meine Vorlesungen zu DBs zurückdenke, da kann ich mich schwach daran erinnert, dass wir sogar mal sowas ähnliches hatten, also eine DB auf einen DB-Server mittels SQL einrichten. Ich werde mich gleich mal um die entsprechende Literatur bemühen.

Hättest Du vielleicht einen Tipp, wo ich schnell die entsprechende Befehlssyntax finde, denn meine Studienunterlagen habe ich zu Hause??

Greetings Scouty

Robert_G 1. Mär 2004 18:16

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Ist manchmal schon schwierig, was im Zwischennetz zu finden :mrgreen: :zwinker:
Bei Google suchensql AND create AND database

CenBells 1. Mär 2004 18:17

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Hallo,

mit folgendem Befehl kannst du eine Datenbank erstellen
Create Database. Im bin-Verzeichnis des Interbase-servers findest du auch eine Hilfe-Datei namens SQLRef.hlp. dort kannst Du Dich über parameter etc schlau machen.

Gruß
Ken
edit mist zu langsam

scouty 1. Mär 2004 18:22

Re: Richtige Datenbanken zur Laufzeit erstellen
 
OK OK, danke ich habe gerade die IB-SQL-Docu durchforstet. Es war doch einfacher als ich dachte. Ehrlich gesagt, hatte ich auch jetzt wieder den sog. AHA-Effekt, als ich die Befehle sah'. Es war aber schon so lange her, als ich das letzte Mal damit gearbeitet habe, dass heute davor stand und keine Ahnung hatte, wie es ich anstellen sollte. Ich danke Dir jedenfalls sehr für Deine Starthilfe...

Evtl. bis demnächst...


Scouty

scouty 1. Mär 2004 18:33

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Ich fürchte, ich muss noch eine weitere -vielleicht- naive Frage stellen. Wie ich das mit dem SQL mache, ist kein Problem. Mein Problem ist jetzt jedoch, wie komme ich von Delphi zu meiner Interbase-Konsole, um das SQL-Statement auch loszuwerden. Wie gesagt, bisher habe ich immer mit den entsprechenden Komponenten gearbeitet. Diese verlangen jedoch, dass ich eine schon fertige Datenbank habe. Was die Komponenten angeht, wie z.B. IBQuery, stehe ich jetzt vor einer Art "Henne-Ei-Problem": Ohne Database keine Query und ohne Query keine Database, oder kennt Ihr eine andere Komponente, über die ich direkt auf die Datenbank zugreifen kann ohne die IBDatabase-Komponente???


Grüße Scouty...

DelphiDeveloper 1. Mär 2004 19:23

Re: Richtige Datenbanken zur Laufzeit erstellen
 
mit IBObjects ist das einfach

Komponente IB_ScriptDialog aufs formular
und einfach IB_ScriptDialog1.Execute ausführen

sql script von platte laden und die datenbank wird erstellt


Aber vermutlich sucht du ne lösung mit ibx komponenten, da wäre ich auch mal neugierig ob die das können.

scouty 1. Mär 2004 19:28

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Das klingt ja schon mal gut. Aber wo finde ich die die IB_Objects???

Marcel Gascoyne 1. Mär 2004 19:32

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Im Falle von Interbase kannst Du Dir auch mal die Komponente IBRestoreService auf der Karteikarte InterBase Admin ansehen. Damit kannst Du ein Backup von IBConsole zurückladen und damit eine neue Datenbank erstellen.

Gruß,
Marcel

DelphiDeveloper 1. Mär 2004 19:36

Re: Richtige Datenbanken zur Laufzeit erstellen
 
www.ibobjects.com fuer kommerzielle anwendungen aber kostenpflichtig


und nicht erschrecken wenn du die IBO installierst bekommste erstmal 80 neue Komponenten fuer Zugriff Interbase/firebird

ist halt liebe auf den 2. blick



aber irgendwie muss dass mit den IBX doch auch gehen!

Vielleicht kann uns ja noch jemand sagen ob es mit FIBPlus geht!

scouty 1. Mär 2004 19:51

Re: Richtige Datenbanken zur Laufzeit erstellen
 
ja danke. Ich hatte das auch eben schon gefunden und natürlich bin ich erschrocken. :gruebel: Aber eigentlich, habe ich schon fast die Schnauze voll. :evil:
Ich meine, es muss doch irgendeine Sch...-Komponente geben, mit der ich direkt auf den Interbase-Server zugreifen kann, um dort mein SQL-Anweisung direkt loszuwerden, ohne erst über die Database-Komponente zu gehen. :wall:
Ich denke mal, das Problem, was ich hier habe, ist ja nicht so ausgefallen. Wenn ich ehrlich sein soll, hätte ich nicht gedacht, dass es so ausufert. Jetzt häng' ich hier schon Stunden an dieser kleinen Aufgabe rum. Manchmal ist eben die erste Idee die Beste. Ich hatte gedacht, dass ich einfach zur Entwurfszeit eine leere Datenbank (GDB-File) erstelle und diese dann eben immer kopiere. So habe ich das bisher eigentlich immer gemacht. Ich hatte nur gedacht, dass dieser Weg recht umständlich ist. Bisher ist der für mich aber noch der einfachste.

Also, bisher bin ich von der Delphi-IDE in diesem Punkt schwer enttäuscht, oder kann mich etwa jemand vom Gegenteil überzeugen??? Wie gesagt, oft gibt es viele Möglichkeiten, nur man kennt sie einfach nicht. Und diese Unkenntnis führt zu einem erheblichen Mehraufwand, wie jetzt eben...

Also, wenn ich Dich richtig verstehe, so kann ich die IBObjekte eh nicht kommerziell nutzen, oder???

Greetings Scouty

DelphiDeveloper 1. Mär 2004 20:05

Re: Richtige Datenbanken zur Laufzeit erstellen
 
Fuer IBO gibt es sowas wie eine trustware lizenz. Musste mal schauen.

Aber wenn du eh kommerzielle Anwendungen schreibst dann lohnt sich der Kauf von IBO
auf jeden Fall. Insbesondere wo es ja heißt IBX sollen möglicherweise bald nur noch mit
Interbare funzen. (wenn sie damit überhaupt mal vernünftig gefunzt haben :roll: )

Ich bin jedenfalls Fan von IBO und bon den Möglichkeiten dort begeistert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:21 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