简体   繁体   English

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

[英]Can FireDac connect to SQL Server without ODBC?

I am using RAD Studio XE8, C++ Builder, FireDac, on Windows 8.1. 我在Windows 8.1上使用RAD Studio XE8,C ++ Builder,FireDac。

I am connecting to SQL Server 2012 on a virtual machine located on my network. 我正在网络上的虚拟机上连接到SQL Server 2012。

When I connect FireDac is using ODBC. 当我连接FireDac时使用的是ODBC。 Here is the driver signature that FireDac reports. 这是FireDac报告的驱动程序签名。

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server] [FireDAC] [Phys] [ODBC] [Microsoft] [SQL Server本机客户端11.0] [SQL Server]

I can also see that odbc dlls are loaded with my program. 我还可以看到odbc dll随程序一起加载。 I run the same program using DBX and the dbxmss.dll interfaces directly with the sql native dll and the performance is noticeably better. 我直接使用dbx和dbxmss.dll与sql本机dll的接口运行同一程序,并且性能明显更好。 Is there a better way to connect to SQL Server with FireDac or am I stuck going through ODBC? 是否有更好的方法通过FireDac连接到SQL Server,还是我被困在ODBC中?

I don't think you will find a better way than connecting through the SQL Server Native Client . 我认为您不会找到比通过SQL Server Native Client连接更好的方法。 Just don't worry about that ODBC word in that driver signature. 只是不必担心该驱动程序签名中的ODBC字。 ODBC is just the name of the standard API which is used here to consume that native client library. ODBC只是标准API的名称,在这里使用它来消耗该本地客户端库。 There is no extra bridge here. 这里没有多余的桥梁。

By that signature FireDAC says a SQL Server Native Client library will be interfaced by ODBC API. 通过该签名,FireDAC表示将通过ODBC API接口SQL Server Native Client库。 But by direct exported C function calls of that client DLL. 但是通过直接导出该客户端DLL的C函数调用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM