Thema: Delphi BDE/Database Name

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: BDE/Database Name

  Alt 20. Nov 2005, 09:33
Hallo Andy,

wie Rainer schon geschrieben hat, brauchst du eine TDatabase-Komponente. Um wirklich flexibel zu sein empfehle ich dir mit einer Kombination aus festem und temporärem Alias zu arbeiten. Angenommen dein Projekt heißt TEST, dann richtest du mit dem BDE Admin-Tool einen festen Alias TEST auf deiner Entwicklungsmaschine ein, damit deine Table- und Query-Komponenten mit dem Eintrag DatabaseName = TEST auch etwas anzeigen können, wenn du am Projekt arbeitest. In meinen BDE Projekten hatte ich immer eine Unit GLOBAL, in deren Initialisierungsteil ich etwa folgenden Code hatte:

Delphi-Quellcode:
const
  CALIAS = 'TEST';
  CDRIVER = 'STANDARD';

var
  WorkDir: string;
  dbWork: TDatabase;

initialization
  GetDir(0, WorkDir);
  WorkDir := IncludeTrailingPathDelimiter(WorkDir);

  Session.PrivateDir := TempDir;
  dbWork := TDatabase.Create(nil);
  dbWork.DatabaseName := CALIAS;
  dbWork.DriverName := CDRIVER;
  dbWork.Params.Add(Format('PATH=%s', [WorkDir]));
  dbWork.Connected := true;
finalization
  dbWork.Free;
end;
Das Datenbankverzeichnis wird dann in der Start-Verknüpfung deiner Anwendung als Arbeitsverzeichnis konfiguriert. Auf diese Weise muss auf der Zielmaschine der Alias nicht installiert werden - der Alias TEST ist dort ein temprärer. TempDir sollte auf ein Unterverzeichnis im Userprofil zeigen, falls sich auf der Zielmaschine mehrere Benutzer einloggen können.

Grüße vom marabu
  Mit Zitat antworten Zitat