【发布时间】: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