Entwickler-Ecke
Datenbanken - Datenbank zur Laufzeit erstellen
Speedy112 - So 07.09.03 19:48
Titel: Datenbank zur Laufzeit erstellen
Hallo,
kann mir jemand sagen, wie ich eine Datenbank zur Laufzeit erstellen kann? Benutze Interbase 6 OpenSource und IBX 4,52 glaub ich, dazu noch delphi 5 ent.
THX
UGrohne - So 07.09.03 21:51
Du gibts ganz gewöhnlich die Parameter ind er IBDatabase-Instanz an, dazu noch Parameter, wie z.B. das Character-Set usw. und führst dann
Delphi-Quelltext
1:
| IBDatabase1.CreateDatabase; |
aus. Danach kannste ja SQL-Scripts ausführen, die Dir dann die Tabellen erstellen lassen.
So hatte ich das glaub ich gemacht.
Alternativ kannst Du auch eine leere Datenbank als Resource in die EXE einbauen und diese dann einfach entpacken, obowhl die oben genannte Methode einige Vorteile bietet.
Speedy112 - So 07.09.03 22:04
Titel: haha
So hatte ich das auch probiert und obwohl ich user und PW definiert hatte ín den Params, ging das nicht. Er hat immer die Fehlermeldung "Kein user und PW definiert" gegeben
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| If Opendialog1.Execute then DBedit5.Text:=Opendialog1.FileName; Create.Params.Clear; Create.DatabaseName:=Opendialog1.FileName; Create.Params.Add('user_name sysdba'); Create.Params.Add('password masterkey'); Create.Params.Add('lc_ctype=ISO8859_1'); Create.Params.Add('PAGE_SIZE=4096');
Create.CreateDatabase; |
Moderiert von
Tino: Delphi-Tags hinzugefügt.
UGrohne - Mo 08.09.03 09:16
So, ich hab grad mal nachgeschaut, da gibts einen Unterschied zum normalen Login, da hab ich auch ewig gebraucht.
Folgende Angaben brauchst Du in den Params:
- USER (nicht user_name!!!!)
- PASSWORD
- PAGESIZE (default sind 1024)
Und den SQL-Dialect würde ich noch auf 3 einstellen.
Speedy112 - Mo 08.09.03 14:02
Titel: Problem
Funzt nicht, kannst mir den Sourcecode mal geben, wie du das gemacht hab, krieg immer fehlermeldungen.
UGrohne - Mo 08.09.03 14:17
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| IBDatabase.DatabaseName:=servername+':'+path; IBDatabase.Params.Clear; IBDatabase.Params.Add('USER "'+userED.Text+'"'); IBDatabase.Params.Add('PASSWORD "'+pwED.Text+'"'); IBDatabase.Params.Add('PAGE_SIZE 4096'); IBDatabase.SQLDialect:=3; IBDatabase.CreateDatabase; |
Funktioniert so in etwa bei mir einwandfrei
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!