Comment Gérer les Alias du BDE en Runtime.
Le BDE a une limite de 64 Alias dans son fichier de config.
C'est pourquoi il peut être utile dans certains cas de figures de pouvoir
Supprimer ou créer des alias à la volée.
Tout d'abord il vout faut un composant TDatabase sur votre Form.
Code pour Supprimer un Alias
Database1.Session.ConfigMode := cmAll; // Regarder dans l'aide les différentes possibilités.
Database1.Session.open; //Ouverture d'une session
if Database1.Session.IsAlias('NomAlias') then // L'alias existe-t'il ?
Database1.Session.DeleteAlias('NomAlias'); // Suppression de l'alias
Database1.Session.SaveConfigFile; // Sauvegarde des nouvelles infos dans le fichier de config du BDE
Database1.Close;
Code Pour Ajouter un Alias
Déclarer :
ListeParamAlias:TstringList;
Ici il faut créer une liste ListeParamAlias
ListeParamAlias:=TStringList.Create;
// Il faut 'remplir' la liste avec les paramètres de l'alias:
//Exemples :
{
SERVER NAME=SERVER
USER NAME=sa
OPEN MODE=READ/WRITE
SCHEMA CACHE SIZE=8
BLOB EDIT LOGGING=
LANGDRIVER=BLLT1FR0
SQLQRYMODE=
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
DATE MODE=0
SCHEMA CACHE TIME=-1
MAX QUERY TIME=300
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR=
APPLICATION NAME=dom
NATIONAL LANG NAME=us_english
ENABLE BCD=FALSE
TDS PACKET SIZE=4096
BLOBS TO CACHE=64
BLOB SIZE=32
DRIVER NAME=MSSQL
PASSWORD=
}
Database1.Session.ConfigMode := cmAll; // Regarder dans l'aide les différentes possibilités.
Database1.Session.open; //Ouverture d'une session
if not Database1.Session.IsAlias('NomAlias') then begin// L'alias existe-t'il ?
ListeParamAlias.add('DATABASE NAME=BASENOMALIAS');// Ajout du paramètre Nom de Base de données pour le BDE
Database1.Session.AddAlias('NomAlias', 'MSSQL', ListeParamAlias); // Ajout de l'alias
Database1.Session.SaveConfigFile; // Sauvegarde des nouvelles infos dans le fichier de config du BDE
Database1.Close;