如果不指定网络地址,则无法通过 Firebird 别名连接到本地数据库



我不再有代码的旧软件直到最近还在Windows 7(我认为是x32(和Firebird 2.5上运行良好。用户将指定数据库别名";med";并且软件将连接。

安装了一台带有Windows 7 x64和Firebird 2.5的新电脑。旧软件正在运行,但当尝试连接到数据库时,它失败了,并出现此错误

ISC ERROR CODE:335544344
ISC ERROR MESSAGE:
I/O error during "CreateFile (open)" operation for file ":med"
Error while trying to open file
The system cannot find the file specified.

如果我包括主机名;IP_ADDRESS:med"-它是有效的,但这会导致程序中出现一些我想避免的单独问题。

如果我只使用别名从isql尝试,它会起作用。

当文件是本地文件(指定的数据库名称没有网络地址(时,旧代码可能试图使用本地协议。我不知道这是否与这个问题有关。

我试着把firebird.conf从旧电脑复制到现在的电脑上。

我感谢你的任何想法或建议。

编辑:我按照MarkRotteveel的建议做了,添加了一个":med";alias到aliases.conf,它现在确实连接了,所以这可能解决了所有问题,但仍然留下了实际发生的事情/与原始系统可能不同的地方的困惑。。。

这不是真正的问题答案,但至少是解决问题的方法:在Firebird实例的aliases.conf中创建一个以:为前缀的额外别名(因此,添加:med = <path-to-your-database>(。这将允许Firebird连接。

据我所知,Firebird和fbclient.dll都不会添加冒号本身,所以当你的程序检测到缺少主机名时,它很可能会自动添加冒号。

相关内容

  • 没有找到相关文章

最新更新