FireDac 可以在没有 ODBC 的情况下连接到 SQL 服务器吗?

Can FireDac connect to SQL Server without ODBC?

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

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

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

[FireDAC][Phys][ODBC][Microsoft][SQL 服务器本机客户端 11.0][SQL 服务器]

我还可以看到我的程序加载了 odbc dll。我 运行 使用 DBX 的同一个程序和 dbxmss.dll 直接与 sql 本机 dll 接口,性能明显更好。有没有更好的方法用 FireDac 连接到 SQL 服务器,还是我卡在了 ODBC 上?

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

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