Hi Luckie,
einen
BDE-Alias ist nicht wirklich toll - sonst musst Du ja wieder die
BDE wietergeben und mit den
BDE-Kompos auf die Datenbank zugreifen.
Wenn Du die IBX nimmst, dann gibt es 2 Möglichkeiten:
1. 2 Setups weitergeben: Einmal den Interbase-Server und zum anderen die eigentliche Anwendung.
2. 1 Setup: Den Interbase-Server einfach in das Setup integrieren. Dazu benötigst Du einen Installer der Programme ausführen kann (z.B. InnoSetup). Am Ende der eigentlichen Installation einfach die Installation des Servers aufrufen. Über Parameter kannst Du steuern (zumindest bei den MERS-Builts), was installiert werden soll, d.h. der Anwender muss keine Entscheidungen treffen.
Das Problem mit dem Pfad:
1. Der Anwender kann entscheiden wo das DATENBANKVERZEICHNIS liegt (ich meine nicht das Programmverzeichnis). In diesem Fall bleibt nur die Registry, d.h. der Installer muss das ausgewählte
DB-Verzeichnis in die Registry schreiben und Du dann auslesen.
2. Das
DB-File wird in das Prgrammverzeichnis kopiert (z.B. in den Unterordner \daten): Da reicht beim Programmstart folgender Code:
Code:
var homePath:String;
begin
HomePath:=ExtractFilePath(ParamStr(0));
IBDataBase.DataBaseName:=HomePath+'Daten\
db.gdb';
end;
Du musst aber in allen Fällen dafür sorgen, dass ein Interbase-User angelegt wird, mit dem Du auf die
DB zugreifen kannst:
1. Weitergabe Deiner isc4.gdb: In dieser
DB werden die Sicherheitseinstellungen, User,... verwaltet. Wenn Du diese weitergibst, kann jeder auf deine
DB zugreifen. Ein extremer Nachteil: hat jemand schon den
IB-Server installiert läuft das schief.
2. Am besten finde ich die Lösung: ein extra Programm das nach der Installation aufgerufen wird. Dieses Programm hat nur die Aufgabe einen User anzulegen. Das funzt mit der IBSecurity-Komponente sehr einfach (s. mein 2.
IB-Tutorial). Das Programm kannst DU dann bei allen Deinen Programmen verwenden, die den
IB-Server benötigen und die Du weitergeben willst...
So nun habe ich viel gesagt, ich hoffe, dass auch alles klar war
Grüße
Lemmy