Autor Beitrag
Speedy112
Hält's aus hier
Beiträge: 10


Delphi 5
BeitragVerfasst: So 07.09.03 19:48 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 10


Delphi 5
BeitragVerfasst: 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
ausblenden 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 user profile iconTino: Delphi-Tags hinzugefügt.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 10


Delphi 5
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 08.09.03 14:17 
ausblenden 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