ibase_connect:来自Windows的远程计算机主机和共享数据库文件

时间:2013-07-16 12:24:25

标签: php path firebird

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

$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

为什么我无法连接?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

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