【问题标题】:ibase_connect: remote computer host and shared db file from windowsibase_connect:远程计算机主机和来自 Windows 的共享 db 文件
【发布时间】:2013-07-16 12:24:24
【问题描述】:

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

为什么我无法连接?

【问题讨论】:

  • /mnt/databases 是远程(从服务器的角度)网络位置的挂载吗?消息中的Win32 error 似乎表明它是。

标签: php path firebird


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2012-11-15
      • 2023-03-26
      • 2012-07-09
      • 2017-12-10
      相关资源
      最近更新 更多