Thema: Delphi Interbase DB weitergeben

Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#5
  Alt 24. Jun 2002, 08:58
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
  Mit Zitat antworten Zitat