BDE-Aliasnamen einsetzen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbanksitzungen verwalten - Index

Hinweis: Die Borland Database Engine (BDE) ist veraltet und wird nicht mehr weiterentwickelt. Die BDE wird Unicode beispielsweise nie unterstützen. Sie sollten mit der BDE keine neuen Entwicklungen vornehmen. Überprüfen Sie, ob Sie Ihre vorhandenen Datenbankanwendungen nicht von der BDE nach dbExpress migrieren können.

Jede Datenbankkomponente, die mit einer Sitzung verknüpft ist, hat einen BDE-Alias (obwohl es auch die Möglichkeit gibt, statt eines Alias einen kompletten Pfadnamen für den Zugriff auf Paradox- oder dBASE-Tabellen anzugeben). Eine Sitzung kann während ihrer Dauer Aliasnamen erstellen, verändern und löschen.

AddAlias erstellt einen neuen BDE-Alias für einen SQL-Datenbankserver. AddAlias übernimmt drei Parameter: Einen String mit dem Namen des Alias, einen String, der den verwendeten SQL Links-Treiber angibt, und einen String, der die Parameter für die Aliasnamen auflistet. In den folgenden Beispielanweisungen wird mit der Methode AddAlias der Standardsitzung ein neuer Aliasname für den Zugriff auf einen InterBase-Server hinzugefügt:

var AliasParams: TStringList; begin AliasParams := TStringList.Create; try with AliasParams do begin Add('OPEN MODE=READ'); Add('USER NAME=TOMSTOPPARD'); Add('SERVER NAME=ANIMALS:/CATS/PEDIGREE.GDB'); end; Session.AddAlias('CATS', 'INTRBASE', AliasParams); ... finally AliasParams.Free; end; end;
TStringList *AliasParams = new TStringList(); try { AliasParams->Add("OPEN MODE=READ"); AliasParams->Add("USER NAME=TOMSTOPPARD"); AliasParams->Add("SERVER NAME=ANIMALS:/CATS/PEDIGREE.GDB"); Session->AddAlias("CATS", "INTRBASE", AliasParams); . . . } catch (...) { delete AliasParams; throw; } delete AliasParams;

AddStandardAlias erstellt einen neuen BDE-Aliasnamen für Paradox-, dBASE- oder ASCII-Tabellen. AddStandardAlias übernimmt drei String-Parameter: Den Aliasnamen, den kompletten Pfad zu der Paradox- oder dBASE-Tabelle, auf die zugegriffen werden soll, und den Namen des Standardtreibers, der beim Versuch, eine Tabelle ohne Dateierweiterung zu öffnen, verwendet werden soll. Zum Beispiel wird in der folgenden Anweisung mit AddStandardAlias ein neuer Aliasname für den Zugriff auf eine Paradox-Tabelle erstellt:

AddStandardAlias('MYDBDEMOS', 'C:\TESTING\DEMOS\', 'Paradox');
Session->AddStandardAlias("MYBCDEMOS", "C:\\TESTING\\DEMOS\\", "Paradox");

Wenn Sie einer Sitzung einen Aliasnamen hinzufügen, speichert die BDE eine Kopie davon im Arbeitsspeicher, wo sie nur für diese Sitzung sowie für alle anderen Sitzungen zur Verfügung steht, in deren Eigenschaft ConfigMode der Wert cfmPersistent enthalten ist. ConfigMode ist eine Menge, die beschreibt, welche Typen von Aliasnamen von der Datenbank in der Sitzung verwendet werden können. Die Standardeinstellung ist cmAll, die [cfmVirtual, cfmPersistent, cfmSession] umfasst. Wenn ConfigMode cmAll ist, kennt eine Sitzung alle in der Sitzung erstellen Aliase (cfmSession), alle Aliase in der BDE-Konfigurationsdatei auf dem System des Benutzers (cfmPersistent) und alle Aliase, die die BDE im Arbeitsspeicher verwaltet (cfmVirtual). Sie können ConfigMode ändern, um die für eine Sitzung verfügbaren BDE-Aliasnamen einzuschränken. Wenn Sie beispielsweise ConfigMode auf cfmSession setzen, beschränkt dies die Aliasnamen für eine Sitzung auf jene, die innerhalb der Sitzung erstellt wurden. Alle anderen Aliasnamen in der BDE-Konfigurationsdatei und im Arbeitsspeicher stehen nicht zur Verfügung.

Um einen neu erstellten Aliasnamen für alle Sitzungen bereitzustellen, verwenden Sie die Methode SaveConfigFile der Sitzung. SaveConfigFile schreibt die Aliasnamen im Arbeitsspeicher zur BDE-Konfigurationsdatei. Dort können Sie gelesen und von anderen BDE-Anwendungen genutzt werden.

Nach dem Erstellen eines Aliasnamens können Sie dessen Parameter durch einen Aufruf von ModifyAlias ändern. ModifyAlias übernimmt zwei Parameter: Den Namen des zu ändernden Alias und eine String-Liste mit den Parametern und deren Werten, die geändert werden sollen. In den folgenden Anweisungen wird beispielsweise mit der Methode ModifyAlias der Parameter OPEN MODE für den Aliasnamen CATS in der Standardsitzung in READ/WRITE geändert:

var List: TStringList; begin List := TStringList.Create; with List do begin Clear; Add('OPEN MODE=READ/WRITE'); end; Session.ModifyAlias('CATS', List); List.Free; ...
TStringList *List = new TStringList(); List->Clear(); List->Add("OPEN MODE=READ/WRITE"); Session->ModifyAlias("CATS", List); delete List;

Um einen Aliasnamen zu löschen, der zuvor in einer Sitzung erstellt wurde, rufen Sie die Methode DeleteAlias auf. DeleteAlias übernimmt einen Parameter, den Aliasnamen, der gelöscht werden soll. DeleteAlias bewirkt, dass der Aliasname für die Sitzung nicht mehr zur Verfügung steht.

Hinweis: DeleteAlias entfernt den Aliasnamen nicht aus der BDE-Konfigurationsdatei, wenn der Aliasname durch einen vorherigen Aufruf der Methode SaveConfigFile in die Datei geschrieben wurde. Um den Aliasnamen aus der Konfigurationsdatei zu entfernen, nachdem DeleteAlias aufgerufen wurde, rufen Sie die Methode SaveConfigFile erneut auf.

Sitzungskomponenten stellen fünf Methoden zur Verfügung, um Informationen über BDE-Aliasnamen zu ermitteln, einschließlich der Informationen zu den Parametern und Treiberinformationen. Dies sind:

  • GetAliasNames, um die Aliasnamen aufzulisten, auf die in einer Sitzung zugegriffen werden kann.
  • GetAliasParams, um die Parameter für einen bestimmten Aliasnamen aufzulisten.
  • GetAliasDriverName, um den Namen des BDE-Treibers zurückzugeben, der von dem Alias verwendet wird.
  • GetDriverNames, um eine Liste aller BDE-Treiber zurückzugeben, die in dieser Sitzung verfügbar sind.
  • GetDriverParams, um die Treiberparameter für einen bestimmten Treiber zurückzugeben.

Weitere Informationen zur Verwendung der Informationsmethoden von Sitzungen finden Sie unter Transaktionen mit der BDE.

Siehe auch