几台机器运行相同的软件,有些不会连接到firebird

时间:2009-02-10 20:39:10

标签: c++ sql database firebird

我非常困惑......我有5台不同的测试计算机,所有相对空白的Windows XP计算机都运行类似的硬件规格。我运行FireBird(Classic)数据库和我的应用程序的静默安装。有些计算机在数据库位置之前需要“localhost:”(或127.0.0.1)来建立连接,而有些计算机根本不工作!这是全面运行完全相同的软件。有没有人有什么建议可以使连接字符串通用,或者我可能做错了什么?

这是firebird版本2.1.1.17910 Classic

顺便说一句,我尝试使用FlameRobin(一个小型​​数据库管理工具)连接到同一个数据库,它在没有连接的计算机上工作得很好。

需要更多信息才能告诉我!非常感谢提前

3 个答案:

答案 0 :(得分:3)

对于任何人未来的参考,答案都在服务中。显然,由于某些原因它没有被注册为服务,并且在工作的计算机上,在某些时候注册,可能通过某种早期的Interbase测试是我最好的猜测。

C:\ Windows \ System32 \ drivers \ etc并打开文件'services'并添加以下行允许服务器正常运行。

gds_db 3050 / tcp

答案 1 :(得分:1)

我不确定您是否知道这一点,但是在数据库名称或别名前面没有“localhost:”或“127.0.0.1:”的连接字符串将使用本地协议,这不能是连接到Firebird Classic Server时使用(有关详细信息,请参阅this link)。如果给出了主机名或IP地址,则TCP端口3050将用于连接。

如果您已在FlameRobin中注册了服务器,并且未将注册对话框中的主机名字段留空,则主机名将成为连接字符串的一部分。这可以解释为什么你可以使用FlameRobin进行连接。

至于机器之间的差异:首先应该转到Firebird服务器管理器小程序,确保服务器确实在所有计算机上运行,​​并且版本相同。

答案 2 :(得分:1)

是否与某些计算机上的hosts文件有关?或者这就是你所指的

  

某些计算机在数据库位置之前需要“localhost:”(或127.0.0.1)...

评论