如何解决Firebird 4.0 候选版本 1 在 C 中无法打开嵌入式数据库
我在 Linux 上使用 Firebird 4.0 候选版本 1(尝试在 C 应用程序或 ODBC 驱动程序中使用它)。当我尝试打开嵌入式数据库 (/path/to/db/name.db
) 时,我收到“无法完成对主机 XXX 的网络请求。无法建立连接。”我知道这意味着无法找到 libEngine13.so,因此它默认为本地主机。但是,libEngine13.so 已构建,并且位于 git repo /path/to/firebird/gen/Release/firebird/lib/plugin
的默认安装位置,因此我不确定为什么找不到它。我还尝试将包含它的文件夹(插件)添加到 LD_LIBRARY_PATH,将 libEngine13.so 复制到与 libfbclient.so(/path/to/firebird/gen/Release/firebird/lib
)相同的目录,将其添加到包含 libfbclient.so(等)的目录中的插件文件夹.) 有什么想法吗?
解决方法
我应该澄清这个问题实际上是针对 Firebird 4.0 候选版本 1(我不知道,但应该知道)。我使用 strace 确认它正在查找 libEngine13.so。它在 /path/to/firebird/install/plugins 而不是 /path/to/firebird/gen/Release/firebird/plugins 中寻找它。当我将它复制到那里时,我收到了“不可用的数据库。SQLCODE:-904”错误。当我将数据库位置从 /path/to/proj/databases 切换到 /path/to/my/dir/on/parallel/file/system/databases 时,它起作用了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。