Autor Beitrag
bash
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Di 13.08.02 21:34 
hallo,

kann man mit Interbase eine komplett neue datenbank zur laufzeit erstellen? ich hab zwar in der komponente IBDatabase die prozedur CreateDatabase ausprobiert, aber es kam immer die Fehlermeldung, dass mein Passwort und der Benutzername noch nicht definiert wurden. Dabei hatte ich aber als Parameter folgendes eingegeben:
ausblenden Quelltext
1:
2:
3:
4:
5:
CREATE DATABASE (
    USERNAME "SYSDBA",
    PASSWORD "masterkey",
   PAGESIZE 4096
)

so stand es auch in der Hilfe dazu. Wenn nun ein Benutzer in einem SaveDialog eine neue datei angibt und ich den pfad dann als DatabaseName angebe, wollte ich mit CreateDatabase damit eine neue datenbank anlegen.

Ist das möglich oder funktioniert das so nicht?
Ist es eventuell möglich mit den dbExpress komponenten zur laufzeit eine neue datenbank zu erstellen? und wenn ja, wie?

bis dann
ao
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 145

Win XP Prof.
D7 Ent.
BeitragVerfasst: Di 13.08.02 22:16 
Hallo bash,

also ich kann dir in Sachen Interbase/Firebird nur die IBObjects empfehlen. Mit denen kann man auf jeden Fall eine Datenbank zu Laufzeit anlegen.

Gruß
Andreas
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mi 14.08.02 08:12 
Hi,

du musst in die Eigenschaft "Params" folgende Werte eingeben:

USER "SYSDBA"
PASSWORD "masterkey"
PAGE_SIZE 4096

bzw. diese entsprechend anpassen. Den Namen der Datenbank (DatabaseName) noch zuweisen und dann kannst Du mit

IBDataBase.CreateDatabase;

die Datenbank erzeugen.

ACHTUNG! Nach dem du die DB erzeugt hast, musst Du die Parameter für den Zugriff auf die DB wieder ändern!

user_name=sysdba
password=masterkey
lc_ctype=ISO8859_1

Grüße
Lemmy