如何在Windows 2008 Server中配置客户端对Firebird 2.5的访问?
我想从客户端访问 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端口呢?我会做错什么?谢谢!
I'd like to access a Firebird DB 2.5 from clients. Firebird is installed in Windows 2008 Server, running and operational. There's no connection problems when trying to do it in the server itself. But I'm not reaching do the same when in clients. I've opened 3050 port in Win 2008 Firewall, but nothing happens. When I test the conection using IBExpert, for example, the following erro message appears:
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!
I'm operating over a domain, and I'm not sure wether I have all the grants of the domain's network firewall. Thus, how can I test the 3050 port without telnet? What would I doing wrong? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在我看来它正在连接,但 Firebird 无法打开您的数据库文件。
尝试使用绝对路径,例如
xxxx:c:\SuperFireDB\SuperFireDB.FDB
如果有效,我强烈建议使用位于 Firebird 安装目录中的 aliases.conf。然后,客户端只需连接到
xxxx:SuperFireDB
或您决定命名的任何名称。如果您稍后需要移动数据库文件,则只需更新 aliases.conf,而不是每个客户端。希望这有帮助!另外,如果您在计算机上安装了 firebird 服务器(无需运行它),您可以尝试通过 Firebird 自己的命令行客户端(ISQL)进行连接。
这里有一些帮助: http://www.firebirdsql.org/manual/qsg10-connecting.html 。
It looks to me it is connecting, but Firebird cannot open your database file.
Try an absolute path like
x.x.x.x:c:\SuperFireDB\SuperFireDB.FDB
If that works, I highly suggest making use of aliases.conf located in the Firebird install directory. Then, clients only have to connect to
x.x.x.x:SuperFireDB
or whatever you decide to name it. If you need to move the database file later, you only have to update aliases.conf and not every client.Hope this helps! Also if you install firebird server on your machine (no need to run it), you can try to connect through Firebird's own command line client (ISQL).
Some help here: http://www.firebirdsql.org/manual/qsg10-connecting.html.
我遇到了同样的问题。
答案很简单:
fbserver.exe
进程没有读/写文件*.fdb
的权限。我在文件
*.fdb
上为用户SYSTEM
添加了读/写权限(fbserver.exe
作为用户SYSTEM 作为 Windows 服务运行
),问题就消失了。I met the same problem.
Answer is very simple:
fbserver.exe
process has no permissions to read/write file*.fdb
.I added read/write permissions for the user
SYSTEM
on file*.fdb
(fbserver.exe
runs as windows service as userSYSTEM
) and problems disappear.