Windows 7 无法运行Firebird
我正在运行Windows7的新计算机上安装Firebird(v1.5.5-我知道它很旧,但它可以工作)。我已将经典服务器版本作为服务安装。根据Firebird站点的文档,我修改了Firebird.conf文件,使IPCName为global\FirebirdIPI;我在服务未运行时执行此操作 尽管我付出了所有的努力,我仍然无法访问任何通过ISQL复制到这台新计算机上的数据库。FWIW,EMS SQL 2005管理器程序成功地访问了数据库,但该程序显然有一种直接方法,不需要fbclient.dll 我还应该检查什么Windows 7 无法运行Firebird,windows-7,firebird,Windows 7,Firebird,我正在运行Windows7的新计算机上安装Firebird(v1.5.5-我知道它很旧,但它可以工作)。我已将经典服务器版本作为服务安装。根据Firebird站点的文档,我修改了Firebird.conf文件,使IPCName为global\FirebirdIPI;我在服务未运行时执行此操作 尽管我付出了所有的努力,我仍然无法访问任何通过ISQL复制到这台新计算机上的数据库。FWIW,EMS SQL 2005管理器程序成功地访问了数据库,但该程序显然有一种直接方法,不需要fbclient.dll
几天后更新。在Windows 7上浪费了大量时间之后,我们决定降级计算机并运行XP。安装FB 1.5.5的超级服务器版本后,我可以运行我的程序并访问存储在此计算机上的数据库。尝试从网络上连接的其他计算机访问数据库失败,并显示各种错误消息,但通常类似于“文件i/o错误!”!火鸟\db\q400.fdb' 为了让网络上的人能够继续访问数据库,我恢复了NT服务器并启动了Firebird服务——所有程序都可以从远程计算机成功访问这些数据库 为了简化问题,网络上有三台计算机:
否'amAFAIK EMS SQL使用fbclient.dll(或其周围的包装器) 如果您只想访问数据库,我建议您使用TCP协议而不是本地协议。要执行此操作,请按如下方式连接:
c:\>isql localhost:c:\path\to\db.fdb -u sysdba -p masterkey
除非您正在避免TCP或计算机没有启用本地接口,否则它将为您完成工作。尝试使用此连接到您的数据库: 主机名:驱动器:\complete path\filename.fdb 或 \主机名\drive\complete path\filename.fdb
我可以知道您正在使用的组件吗?如果您的客户端是Windows 7,那么您可以尝试使用\\hostname\sharename\filename.fdb而不是驱动器:\filename.fdb连接字符串。几个月后,NT服务器在有人意外解锁后重新启动时显示“MBR error”时有点突然失效。因此,我别无选择,只能开始在“kivserver”上运行Firebird服务器程序。连接问题返回 最终,我能够用下面的连接字符串解决这个问题 10.0.0.202:e:\firebird\db\manager.fdb 其中10.0.0.202是服务器的ip地址,e:\firebird\db是数据库所在的相对于服务器本身的目录
我希望有一天,其他人会发现这些信息很有用。尽管我给出了答案,但我想说的是,我在windows 7中使用的是Firebird 2.1,从未接触过任何东西使其工作。。。您确定仍要使用Firebird 1.5吗?我相信你可以用Firebird 2直接打开Firebird 1.5文件(ODS),但我没有人要测试。我真正想要的是我的程序(用Delphi编写)可以访问数据库。他们使用的组件与Firebird 1.5配合使用。@JachGrate,尽管可能会起作用,但最好不要打开具有较高Firebird版本的较低ODS文件,以避免可能的损坏。你能做的最好的事情是使用它的1.5版本中的GBAK实用程序来备份数据库并用GBAK 2恢复它以获得一个2数据库文件。@ NeMeNeman,这是偏离主题的,但是你可以考虑使用ZeOS组件。它们是免费的,用Delphi开发,在Firebird 2.0和2.1上运行良好。@No'am Newman:它是哪个组件?你确定它无法连接到Firebird 2.x吗?我昨天尝试了这个,但没有成功。使用字符串“t:\db\q400.fdb”(文件的位置在本地计算机上映射为“t”的网络磁盘的目录“db”中)时,错误消息是“文件的i/o错误”\!火鸟\db\q400.fdb'。使用字符串“\kivserver\firebird\db\q400.fdb”(即\hostname\drive\complete path\filename.fdb)时,结果是“未知数据库”。我正在尝试我自己的程序(使用dbExpress组件)和一个名为“mywisql”的程序,该程序可能会执行相同的操作。@No'am Newman:Firebird数据库文件必须是服务器的本地文件。它在文档中,我只是现在没有一个句柄。