无法运行Firebird

时间:2010-12-04 18:19:41

标签: windows-7 firebird

我正在运行Windows 7的新计算机上安装Firebird(v1.5.5 - 我知道它已经老了,但它有效)。我已经安装了经典服务器版本作为服务。根据Firebird站点的文档,我修改了firebird.conf文件,以便IPCName是全局的\ FirebirdIPI;我在服务没有运行时这样做了。

尽管我付出了很多努力,但我无法访问通过ISQL复制到这台新计算机的任何数据库。 FWIW,EMS SQL 2005管理器程序成功访问数据库,但该程序显然有一个不需要fbclient.dll的直接方法。

我还应该检查什么?


几天后更新。在用Windows 7浪费了大量时间之后,我们决定降级计算机并运行XP。安装FB 1.5.5的超级服务器版本后,我可以运行我的程序并访问存储在此计算机上的数据库。尝试从网络上连接的其他计算机访问数据库失败,出现各种错误消息,但通常类似于'i / o error for file!firebird!\ db \ q400.fdb'。

为了让网络上的人继续访问数据库,我恢复了NT服务器并启动了Firebird服务 - 所有程序都可以从远程计算机成功访问这些数据库!

为了简化问题,网络上有三台计算机:

  1. 运行Firebird服务的NT服务器('zorcomp'); fdb文件驻留在这台名为'db'的目录中的这台计算机上,该目录位于名为'firebird'的共享目录下
  2. 一台运行XP的计算机,名为“kivserver”,它还有一个名为“firebird”的共享目录,下面是一个名为“program”的目录。所有fdb文件的副本都驻留在名为“db”的目录中。
  3. 一台运行XP的计算机,它将\ zorcomp \ firebird映射到磁盘L:和\ kivserver \ firebird映射到磁盘T.从这台计算机上,我可以运行一个位于T:\ programs中的程序并让它成功访问一个文件坐在L:\ db。如果我在zorcomp上停止FB服务并在kivserver上启动相同的服务,则同一程序无法访问位于T:\ db。中的文件。
  4. 我希望这很清楚。对于我的生活,我看不到位于\ kivserver \ firebird中的所有文件与位于\ zorcomp \ firebird中的文件之间有任何区别 - 但不知何故有区别!

    显然,我不希望这种安排继续下去 - NT服务器必须光荣地退休。

    进一步编辑。我现在在'kivserver'(NT)上运行firebird服务器。我可以在本地访问数据库文件。

    运行Win7的计算机现在可以使用连接字符串\\ kivserver \ firebird \ db \ database.fdb访问这些数据库文件。

    运行XP的计算机无法访问这些数据库文件,尽管IIRC wisql使用\\ kivserver \ firebird \ db \ database.db成功。

    NT服务器已断开与网络的连接。 TIA, No'am

4 个答案:

答案 0 :(得分:0)

AFAIK EMS SQL使用fbclient.dll(或它周围的包装器)。

如果你想要的只是访问数据库,我建议你使用TCP协议而不是本地协议。要做到这样连接:

c:\>isql localhost:c:\path\to\db.fdb -u sysdba -p masterkey

除非您正在避免使用TCP或者机器没有启用本地接口,否则它将为您完成工作。

答案 1 :(得分:0)

尝试使用它连接到您的数据库:

hostname:drive:\ complete path \ filename.fdb

\ hostname \ drive \ complete path \ filename.fdb

我可以知道您正在使用的组件吗?

答案 2 :(得分:0)

如果您的客户端是Windows 7,那么您可能会尝试使用 \\ hostname \ sharename \ filename.fdb 而不是 drive:\ filename.fdb 连接字符串。< / p>

答案 3 :(得分:0)

几个月后,当NT服务器显示“MBR错误”时,NT服务器突然退役了。在有人意外地拔掉它之后重新启动。因此,我没有选择,只能开始在&#39; kivserver&#39;上运行Firebird服务器程序。连接问题又回来了。

最终我能够使用以下连接字符串解决问题

  

10.0.0.202:e:\firebird\db\manager.fdb

其中10.0.0.202是服务器的ip地址,e:\ firebird \ db是数据库所在的目录,相对于服务器本身。

我希望其他人,有时候会发现这些信息有用。