2009-08-25 86 views
3

我开发了一个应用程序,使用Delphi和Firebird 1.5,其中服务器与应用程序位于同一台机器上。我现在正在将应用程序部署到另一个站点,Firebird服务器(Superserver)在一台机器上运行(NT4),而客户机在另一台机器上运行。火鸟别名

应用程序可以连接到数据库,如果我在申请(t:\db\cinema.gdb)合格的路径,但当然我更愿意使用别名,所以相同的代码将自己的计算机上运行(与本地服务器)。

于是,两个问题:

  1. 的“aliases.conf”文件应该在哪里存在 - 每台机器上沿与应用程序,或在服务器上?
  2. 别名应该是什么? cinema = t:\db\cinema.gdb,假设数据库在映射的驱动器上? cinema = 192.168.2.121:f:firebird\db\cinema.gdb,当服务器看到它时,使用服务器的IP地址和数据库的路径?

回答

3

aliases.conf应该只在服务器上。 而且您应该始终使用完整的地址,以及IP和服务器上数据库的完整路径。由于驱动器映射可能会发生变化(并且当您最不期待它们时,它们总是会这样做),因此将它们用作应该位于固定位置的文件或数据库的引用并不是一个好主意。 就我个人而言,我不会在我的C++ Builder/Firebird应用程序中使用别名,而只是在程序ini文件中或作为注册表项(在课程的客户端)设置完整路径。 ini文件无论如何都是有的,我不会在aliases.conf文件中创建另一个依赖关系。

+0

我曾考虑过ini文件选项,但认为它是一种解决方法。这也必须为每个用户设置,而别名文件服务于每个人 - 没有。 – 2009-08-25 09:12:32

7
  1. 别名文件存在于服务器上!
  2. 别名直接映射到文件,例如, cinema = c:\firebird\db\cinema.fdb。不要使用映射的驱动器,这会降低性能。客户端连接数据库名称servername:alias
+0

我应该在应用程序中使用字符串'localhost:cinema'吗?我假设'本地主机'是指本地计算机,而不是远程服务器。 – 2009-08-25 09:11:04