0

Linux red hat,通过 mount 将驱动器连接到远程服务器(192.168.0.103)到 /mnt/databases 然后尝试连接

$idbh = ibase_connect("192.168.0.103/3050:/mnt/databases/XXX.IB", "SYSDBA", "masterkey", "WIN1251") or die(ibase_errmsg().' on line: '.__LINE__);

结果

 ibase_connect(): I/O error for file "/mnt/databases/XXX.IB" Error while trying to open file unknown Win32 error 3

试试 stat /mnt/databases/XXX.IB

  File: `/mnt/databases/XXX.IB'
  Size: 46415872        Blocks: 90752      IO Block: 16384  regular file
Device: 17h/23d Inode: 1970324836974627  Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2013-07-16 16:04:08.470709400 +0400
Modify: 2013-06-17 13:03:03.600143300 +0400
Change: 2013-06-17 13:03:03.600143300 +0400

为什么我连接不上?

4

2 回答 2

1

不要尝试通过任何形式的挂载访问 Firebird 或 Interbase 数据库。服务器进程应该与包含数据库的磁盘在同一台机器上。

然后,您的客户端将与服务器进程通信以与数据库进行交互。

于 2013-07-16T15:44:57.660 回答
0

您需要为连接指定数据库的别名,或磁盘上相对于 Firebird 服务器的完整路径。http://www.firebirdsql.org/manual/qsg2-databases.html

因此,如果在 Firebird 服务器上的数据库位于 C:\databases\db.fdb 上,则您需要提供该数据库。网络驱动器/共享将无法工作,因为来自不存在的 FB 服务器上下文。

一些应用程序 (QuickBooks) 让您误以为您需要共享文件所在的文件夹,但实际上它只是引导 TCP/IP 套接字连接到数据库服务。Firebird 不是这样工作的。

于 2013-07-20T06:06:53.193 回答