我正在运行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服务 - 所有程序都可以从远程计算机成功访问这些数据库!
为了简化问题,网络上有三台计算机:
我希望这很清楚。对于我的生活,我看不到位于\ kivserver \ firebird中的所有文件与位于\ zorcomp \ firebird中的文件之间有任何区别 - 但不知何故有区别!
进一步编辑。我现在在'kivserver'(NT)上运行firebird服务器。我可以在本地访问数据库文件。
运行Win7的计算机现在可以使用连接字符串\\ kivserver \ firebird \ db \ database.fdb访问这些数据库文件。
运行XP的计算机无法访问这些数据库文件,尽管IIRC wisql使用\\ kivserver \ firebird \ db \ database.db成功。
NT服务器已断开与网络的连接。 TIA, No'am
答案 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是数据库所在的目录,相对于服务器本身。
我希望其他人,有时候会发现这些信息有用。