【问题标题】:Can FireDac connect to SQL Server without ODBC?FireDac 可以在没有 ODBC 的情况下连接到 SQL Server 吗?
【发布时间】:2016-08-28 18:23:19
【问题描述】:

我在 Windows 8.1 上使用 RAD Studio XE8、C++ Builder、FireDac。

我正在网络上的虚拟机上连接到 SQL Server 2012。

当我连接 FireDac 时使用的是 ODBC。这是 FireDac 报告的驱动程序签名。

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server]

我还可以看到我的程序加载了 odbc dll。我使用 DBX 运行相同的程序,并且 dbxmss.dll 直接与 sql native dll 接口,并且性能明显更好。有没有更好的方法来使用 FireDac 连接到 SQL Server,还是我被 ODBC 卡住了?

【问题讨论】:

  • 使用 ODBC 不好。我认为 FireDAC 可以在没有任何中间件驱动程序的情况下天真地连接到 SQL Server!顺便说一句,主题说FireDAX,是错字吗?如果是,请修复它
  • @FLICKER,它可以。 ODBC 是 API,而不是驱动程序。在 OP 的情况下,是 ODBC 使用的本机客户端库(通过直接调用导出的 C 函数)。
  • 不管怎样,odbc 已经过时了。它有开销,应该避免
  • @FLICKER,不,ODBC 并没有过时。 ODBC 仍然是一种广泛使用的 API。 SQL Server Native Client 提供 OLE DB 或 ODBC API 驱动程序以供使用。 C 和 C++ 应用程序。使用 ODBC 之一。这就是这里的情况,FireDAC 调用本机客户端 DLL 的 ODBC API 函数来工作(但这些是直接的 DLL 函数调用,没有其他开销)。

标签: sql-server odbc c++builder firedac


【解决方案1】:

我认为您找不到比通过SQL Server Native Client 连接更好的方法了。只是不要担心驱动程序签名中的那个 ODBC 字。 ODBC 只是标准 API 的名称,此处用于使用该本地客户端库。这里没有多余的桥。

通过该签名,FireDAC 表示SQL Server Native Client 库将由 ODBC API 连接。但是通过直接导出该客户端 DLL 的 C 函数调用。

【讨论】:

  • 感谢您对驱动程序签名的有用说明
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-10
  • 1970-01-01
  • 1970-01-01
  • 2013-01-20
  • 2017-11-03
相关资源
最近更新 更多