2009-08-25 4 views
3

J'ai développé une application utilisant Delphi et Firebird 1.5, où le serveur est situé sur la même machine que l'application. Je déploie maintenant l'application sur un autre site, où le serveur Firebird (Superserver) est en cours d'exécution sur une machine (NT4) pendant que le client s'exécute sur une autre machine.Firebird aliases

L'application peut se connecter à la base de données si j'inclue le chemin qualifié dans l'application (t:\db\cinema.gdb), mais naturellement je préférerais utiliser un alias, pour que le même code fonctionne sur ma machine de développement (avec le serveur local).

Alors, deux questions:

  1. Où devrait le fichier 'aliases.conf' existent - sur chaque machine ainsi que l'application ou sur le serveur?
  2. Quel devrait être l'alias? cinema = t:\db\cinema.gdb, en supposant que la base de données est sur un lecteur mappé t? cinema = 192.168.2.121:f:firebird\db\cinema.gdb, en utilisant l'adresse IP du serveur et le chemin d'accès à la base de données tel que le voit le serveur?

Répondre

3

Le fichier aliases.conf doit être sur le serveur uniquement. Et vous devez toujours utiliser l'adresse complète, avec l'adresse IP et le chemin d'accès complet à la base de données sur le serveur. Comme les mappages de lecteurs peuvent changer (et ils le sont toujours lorsque vous y attendez le moins), il est rarement recommandé de les utiliser comme référence aux fichiers ou aux bases de données qui doivent se trouver dans un emplacement fixe. Personnellement, je n'utilise aucun alias dans mon application C++ Builder/Firebird, mais je configure simplement le chemin complet dans le fichier ini du programme ou en tant qu'entrée de registre (du côté client bien sûr). Le fichier ini est là de toute façon et je ne crée pas une autre dépendance sur le fichier aliases.conf.

+0

J'avais envisagé l'option de fichier ini mais je pensais que ça marcherait. Cela devrait également être défini pour chaque utilisateur, alors que le fichier alias sert à tout le monde - No'am. –

7
  1. Le fichier alias ne existe sur le serveur!
  2. L'alias est mappé directement au fichier, par ex. cinema = c:\firebird\db\cinema.fdb. N'utilisez pas de lecteur mappé, cela réduit les performances. Le client se connecte au nom de la base de données servername:alias.
+0

Dois-je utiliser la chaîne 'localhost: cinema' dans l'application? J'ai supposé que 'localhost' signifie l'ordinateur local, pas le serveur distant. –

Questions connexes