Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

Vous n'avez pas encore de compte Developpez.com ? L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Developpez.com

C++

Choisissez la catégorie, puis la rubrique :

logo
Sommaire > Bases de données > BDE
        Comment installer le BDE sur une machine ?
        Comment savoir si le BDE est installé ?
        Comment obtenir les paramètres d'un alias BDE ?
        Comment obtenir la liste des alias du BDE ?
        Comment créer dynamiquement un alias BDE ?
        Comment filtrer les alias BDE dans ma session ?



Comment installer le BDE sur une machine ?
Créé le 21/06/2006[haut]
auteur : Neo41
Vous pouvez utiliser l'installateur BDEInfoSetup qui permet une installation très facile du BDE 5.2. Le lien ci-dessous vous permettra de le télécharger.

lien : src BDEInfoSetup

Comment savoir si le BDE est installé ?
Créé le 21/06/2006[haut]
auteurs : Ricky81, Giovanny Temgoua
La fonction DbiInit de l'unité BDE (bde.hpp à inclure) permet d'initialiser le BDE. On peut donc en détourner l'utilisation première pour savoir si le BDE est installé, ce qui est fait par le code suivant :

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if(DbiInit(NULL) == DBIERR_NONE)
   {
      ShowMessage("BDE installé !");
   }
   else
   {
      ShowMessage("BDE non trouvé !");
   }
}
Le paramètre de DbiInit permet de définir certains paramètres comme le fichier de configuration et le répertoire de travail du BDE. En lui passant NULL, ce sont des valeurs par défaut qui sont utilisées.


Comment obtenir les paramètres d'un alias BDE ?
Créé le 21/06/2006[haut]
auteurs : Atlantis, Ricky81
Le BDE fournit la fonction DbiGetDatabaseDesc qui extrait les paramètres d'un alias BDE.
Pour cela, il est nécessaire d'inclure le header bde.hpp

Le code suivant affiche les paramètres de l'alias BCDEMOS dans un mémo :

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Session->Open();
   AnsiString alias = "BCDEMOS";
   DBDesc Desc;
   Check(DbiGetDatabaseDesc(alias.c_str(),&Desc));
   Memo1->Clear();
   Memo1->Lines->Add("Driver name : " +StrPas(Desc.szDbType));
   Memo1->Lines->Add("AliasName : "+StrPas(Desc.szName));
   Memo1->Lines->Add("Text : "+StrPas(Desc.szText));
   Memo1->Lines->Add("Physical Name/Path : "+StrPas(Desc.szPhyName));
   Session->Close();
}
Remarque : Il est important d'avoir une session (TSession) et de l'ouvrir pour interroger le BDE.


Comment obtenir la liste des alias du BDE ?
Créé le 21/06/2006[haut]
auteur : Ricky81
La méthode GetAliasNames renvoie une liste des alias BDE persistants, ceux qui existent dans un stockage permanent ou dans le fichier de configuration du BDE.

Pour avoir dans la liste les alias créés localement (dans la session), il suffit de définir la propriété ConfigMode à cmAll.

Le code suivant affiche la liste des alias dans un mémo :

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   Session->ConfigMode = cmAll;
   Session->Open();
   Session->GetAliasNames(Memo1->Lines);
   Session->Close();
}
lien : faq Comment obtenir les paramètres d'un alias BDE ?

Comment créer dynamiquement un alias BDE ?
Créé le 21/06/2006[haut]
auteur : Ricky81
Le composant TSession propose deux méthodes : AddAlias et AddStandardAlias.
Cette dernière permet de créer un alias spécifiquement pour des tables Paradox, dBASE ou ASCII.

L'exemple suivant crée un alias et l'enregistre définitivement par l'intermédiaire de SaveConfigFile :

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TStringList *liste = new TStringList();

   liste->Add("SERVER NAME = IB_SERVER:/PATH/DATABASE.GDB");
   liste->Add("USER NAME = MYNAME");
   liste->Add("PASSWORD = MYPWD");

   Session1->Open();
   Session1->AddAlias("MonIBAlias", "INTRBASE", liste);
   Session1->SaveConfigFile();
   Session1->Close();

   delete liste;
}

Comment filtrer les alias BDE dans ma session ?
Créé le 21/06/2006[haut]
auteurs : Ricky81, Greybird
La propriété ConfigMode d'un objet de type TSession définit la visibilité de ladite session sur les alias BDE disponibles (dans les deux sens).
Elle permet en quelque sorte de définir un niveau d'isolation de la session.

Il existe un set de 3 valeurs, décrites dans l'aide, qui sont les suivantes :
  • cfmVirtual
  • cfmPersistent
  • cfmSession

Ainsi, si ConfigMode ne contient que cfmSession, la session ne pourra voir que les alias qu'elle crée en mémoire, et les autres sessions n'auront pas la possibilité d'accéder à ces alias. De plus, l'enregistrement des alias n'a dès lors aucun sens : l'appel de la méthode SaveConfigFile sera sans effet.
Si la propriété ne contient que Virtual, on obtiendra les entrées ODBC définies au niveau de Windows (Administrateur ODBC).
Enfin, si elle ne contient que Persistant, on obtiendra les entrées ODBC définies au niveau du BDE (Administrateur BDE).

La valeur cmAll correspond à la combinaison des 3 listées précédemment et rend donc l'accès à l'ensemble des alias, et même entre sessions différentes. C'est également la valeur par défaut de ConfigMode.

Quelques exemples :

   Session1->ConfigMode = TConfigMode() << cfmSession;
   Session2->ConfigMode = TConfigMode() << cfmSession << cfmPersistent;
   Session3->ConfigMode = cmAll;


Consultez les autres F.A.Q.


Valid XHTML 1.0 TransitionalValid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Contacter le responsable de la rubrique C++

Partenaire : Hébergement Web