Chemin d'une base de données dans un fichier txt ou ini
miwbath
Messages postés2Date d'inscriptionlundi 2 août 2004StatutMembreDernière intervention20 février 2008
-
20 mai 2005 à 11:46
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006
-
20 mai 2005 à 12:27
Bonjour à tous!!!!
Je suis un développeur débutant en Delphi. J'ai développé une application base de données (Interbase + DBExpress). Mon problème est le suivant. Après avoir renseigné la propriété Database (192.20.160.6:C:\Gestock\Gestock.GDB) du composant SQLConnect1 de DBexpress tout se passe bien à l'exécution car le fichier dbxconnections.ini est créé en local. Mais losque je transfère la base sur le poste dont l'adresse ip est 192.20.160.10, l'application ne reconnait plus le chemin de la base.
Question: Comment faire pour renseigner le chemin de la base dans un fichier txt ou ini en mode client/serveur. La base se trouvant sur le serveur et l'application sur les postes clients?
vincentstryckmans
Messages postés228Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention25 octobre 2006 20 mai 2005 à 12:27
Personnellement, j'ai tout simplement enregsitrer l'adresse TCP/IP du
serveur dans un fichier ini qui est lu à chaque démarrage de
l'application client.
Puis j'adapte le nom des bases de données en fonction de ce qui est
récupéré dans l'ini. Dans mon cas, j'utilise 'localhost' pour le
serveur sur lequel je développe ou alors, chez les clients, le fichier
ini renseigne l'adresse tcp/ip du serveur interbase.
En fait je pousse plus loin la souplesse en ce sens où, le nom de
fichier de chacune des bases de données utilisées par le client et le
l'adressse du serveur qui héberge ces fichiers sont enregistrées dans
une table située sur le serveur référencé dans le fichier ini (array tt_db[i,j] dans mon exemple ci-dessous).
Donc si tu dois déplacer des bases de données sur une autre machine, tu n'as qu'un paramètre à changer.
Voici le code que j'utilise pour cela :
with dmInciBase.db_common do // l'objet TIBDatabase d'une des bases de données
begin
// La table qui contient les noms de fichiers et leurs serveurs a été lue précédemment et
stockées dans une array tt_db[i,j] où i = 1 dans le nom du ficheir gdb et i = 0 donne l'adresse du serveur IB