我想从客户端访问Firebird DB 2.5。 Firebird安装在Windows 2008 Server中,运行且可运行。尝试在服务器本身中执行此操作时没有连接问题。但是在客户端我不会做同样的事情。我在Win 2008防火墙中打开了3050端口,但没有任何反应。例如,当我使用IBExpert测试连接时,会出现以下错误消息:
Attempting to connect to:
XX.XXX.XXX.XX:SuperFireBD\SuperFireDB.FDB
Connecting... Failed!
------------------------------------
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
I/O error during "CreateFile (open)" operation for file "SuperFireBD\SuperFireDB.FDB".
Error while trying to open file.
The system cannot find the path specified. .
Attempting to connect to services manager... Passed!
Disconnecting from database... Passed!
我在域名上运营,我不确定我是否拥有域名网络防火墙的所有资金。那么,如何在没有telnet的情况下测试3050端口呢?我会做错什么?谢谢!
答案 0 :(得分:2)
我认为它正在连接,但Firebird无法打开您的数据库文件。
尝试类似x.x.x.x:c:\SuperFireDB\SuperFireDB.FDB
如果可行,我强烈建议您使用位于Firebird安装目录中的aliases.conf。然后,客户端只需连接到x.x.x.x:SuperFireDB
或您决定命名的任何内容。如果以后需要移动数据库文件,则只需更新aliases.conf而不是每个客户端。
希望这有帮助!此外,如果您在计算机上安装firebird服务器(无需运行它),您可以尝试通过Firebird自己的命令行客户端(ISQL)进行连接。
这里有一些帮助:http://www.firebirdsql.org/manual/qsg10-connecting.html。
答案 1 :(得分:2)
我遇到了同样的问题。
答案非常简单:fbserver.exe
进程无权读/写文件*.fdb
。
我在文件SYSTEM
上添加了用户*.fdb
的读/写权限(fbserver.exe
作为用户SYSTEM
的Windows服务运行),问题就消失了。