Manipulation des alias BDE

De RAD Studio
Aller à : navigation, rechercher

Remonter à Gestion des sessions de bases de données - Index

Remarque : Le moteur de base de données Borland (BDE, Borland Database Engine) a été déprécié. Il ne sera donc pas amélioré. Par exemple, le BDE ne prendra jamais en charge Unicode. Vous ne devriez pas entreprendre de nouveaux développements avec BDE. Prévoyez plutôt de migrer vos applications de bases de données existantes de BDE vers dbExpress.

Chaque composant de base de données associé à une session possède un alias BDE (même si un chemin d’accès qualifié peut être substitué à un alias pour accéder aux tables Paradox et dBASE). Une session peut créer, modifier et supprimer des alias durant son existence.

La méthode AddAlias crée un nouvel alias BDE pour un serveur de base de données SQL. AddAlias prend trois paramètres : une chaîne contenant le nom de l’alias, une chaîne qui spécifie le pilote SQL Links à utiliser, et une liste de chaînes contenant les paramètres de l’alias. Par exemple, les instructions suivantes utilisent AddAlias pour ajouter à la session par défaut un nouvel alias pour l'accès à un serveur InterBase :

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 crée un nouvel alias BDE pour les tables Paradox, dBASE ou ASCII. AddStandardAlias prend trois paramètres de type chaîne : le nom de l’alias, le chemin d’accès qualifié vers la table Paradox ou dBASE, et le nom du pilote par défaut à utiliser lors de l’essai d’ouverture d’une table dont le nom ne possède pas d’extension. Par exemple, l’instruction suivante utilise AddStandardAlias pour créer un nouvel alias pour l’accès à une table Paradox :

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

Quand vous ajoutez un alias à une session, le BDE stocke une copie de l’alias en mémoire, où il est seulement disponible à cette session et à toute autre session pour laquelle cfmPersistent est inclus dans la propriété ConfigMode. ConfigMode est un ensemble qui décrit quels types d’alias peuvent être utilisés par les bases de données dans la session. Le paramétrage par défaut est cmAll, qui se traduit par l’ensemble [cfmVirtual, cfmPersistent, cfmSession]. Si ConfigMode a pour valeur cmAll, une session peut voir tous les alias créés au sein de la session (cfmSession), tous les alias du fichier de configuration BDE du système de l’utilisateur (cfmPersistent), et tous les alias que le BDE maintient en mémoire (cfmVirtual). Vous pouvez modifier ConfigMode pour restreindre les alias BDE que les bases de données d’une session peuvent utiliser. Par exemple, définir ConfigMode sur cfmSession restreint la vue d’une session aux seuls alias créés au sein de la session. Tous les autres alias du fichier de configuration BDE ou en mémoire ne sont pas disponibles.

Pour rendre un alias nouvellement créé disponible à toutes les sessions et aux autres applications, utilisez la méthode SaveConfigFile de la session. SaveConfigFile écrit les alias en mémoire dans le fichier de configuration BDE, où ils peuvent être lus et utilisés par les autres applications BDE.

Après avoir créé un alias, vous pouvez modifier ses paramètres en appelant ModifyAlias. ModifyAlias prend deux paramètres : le nom de l’alias à modifier et une liste de chaînes contenant les paramètres à modifier et leurs valeurs. Par exemple, les instructions suivantes utilisent ModifyAlias pour changer le paramètre OPEN MODE pour l’alias CATS en READ/WRITE dans la session par défaut :

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;

Pour supprimer un alias précédemment créé dans une session, appelez la méthode DeleteAlias. DeleteAlias prend un seul paramètre, le nom de l’alias à supprimer. DeleteAlias rend un alias indisponible à la session.

Remarque : DeleteAlias ne supprime pas un alias du fichier de configuration BDE si l’alias y avait été écrit par un appel préalable à SaveConfigFile. Pour supprimer l’alias du fichier de configuration après l’appel à DeleteAlias, appelez SaveConfigFile de nouveau.

Les composants session fournissent cinq méthodes pour la récupération d’informations sur les alias BDE, y compris les informations de paramètre et de pilote. Ce sont :

  • GetAliasNames, pour lister les alias auxquels une session a accès.
  • GetAliasParams, pour lister les paramètres d’un alias spécifié.
  • GetAliasDriverName, pour retourner le nom du pilote BDE utilisé par l’alias.
  • GetDriverNames, pour retourner une liste de tous les pilotes BDE disponibles pour la session.
  • GetDriverParams, pour retourner les paramètres de pilote pour un pilote spécifié.

Pour de plus amples informations sur l'utilisation des méthodes d'information d'une session, voir Utilisation des transactions avec le BDE.

Voir aussi