Firebird isql 和 ODBC 连接的区别

Posted

技术标签:

【中文标题】Firebird isql 和 ODBC 连接的区别【英文标题】:Difference between Firebird isql and ODBC connection 【发布时间】:2009-09-23 12:27:47 【问题描述】:

我在连接到 Firebird 数据库时遇到问题。当我使用isql 工具或我使用 Borland dbExpress 驱动程序编写的程序时,它可以完美运行。当我尝试测试 ODBC 连接时,它失败了。我正在使用官方 Firebird ODBC 驱动程序,版本 2.0。

奇怪的事实:

在同一网络中的其他机器上,ODBC 连接测试失败,但是: 当在不同的网络中进行相同的测试时,它似乎可以工作 当 ODBC 驱动程序与 Firebird 服务器安装在同一台计算机上时,它也可以正常工作。 其他 ODBC 驱动程序确实在这个不幸的网络中工作。

我想不出这可能是什么原因,以及如何找到所有问题的根源。

【问题讨论】:

“它失败了”并没有多说。错误信息是什么? 很遗憾——这是错误信息:“连接失败”。 【参考方案1】:

isql 或 dbexpress 是直接访问 firebird(仅使用 fbclient.dll)

ODBC 是 Windows 技术的旧访问方式

如果可以,您最好使用 OLE DB。 这是 ODBC 和 ADO 之间的comparison

【讨论】:

【参考方案2】:

问题解决了。 ODBC 驱动程序不够智能,无法提供有意义的错误消息。事实证明,由于缺少安装正确版本的 Firebird 客户端,它无法连接到数据库。 dbExpress 驱动程序使用的是手动选择的 fbclient.dll,但不知何故 ODBC 找不到它(它位于 system32 目录中)。

【讨论】:

以上是关于Firebird isql 和 ODBC 连接的区别的主要内容,如果未能解决你的问题,请参考以下文章

Firebird 烂笔头

Linux 配置ODBC连接Oracle

Firebird 2.1 TIMESTAMP 算术和民用间隔

Firebird3 多文件支持

如何使用 .NET Provider 在 Firebird 上启用 AUTODDL?

如何操作firebird数据库