通过 ODBC 驱动程序 17 而不是 SQL 服务器本机客户端将 FireDAC 连接到 SQL 服务器

Connect FireDAC to SQL Server through ODBC Driver 17 instead of SQL Server Native Client

我想使用适用于 SQL Server 17 的最新 Microsoft ODBC 驱动程序连接我的 FireDAC 应用程序,但我的连接始终使用 SQL Server Native Client 11 驱动程序。

这是我试图指示所需驱动程序的代码:

FireDriverLink := TFDPhysMSSQLDriverLink.Create(nil);
FireDriverLink.ODBCDriver := 'ODBC Driver 17 for SQL Server';
FDConnection.DriverName := FireDriverLink.BaseDriverId;

为了检查所使用的驱动程序,我引发了一个异常并阅读了错误消息:

FDConnection.ExecSQL('select convert(integer, ''X'')');

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server] 转换错误 al conversión al convertir el valor varchar 'X' al tipo de datos int.

告诉 FireDAC 使用 SQL 服务器 17 的 ODBC 驱动程序的正确方法是什么?。另外,我是否也可以告诉 FireDAC 在设计时使用最新的 ODBC 驱动程序而不是本机客户端?

谢谢。

对于设计时间:将 TFDPhysMSSQLDriverLink 拖放到数据模块或表单上并将 ODBC 驱动程序设置为:ODBC Driver 17 for SQL Server 在下拉列表中。

之后打开您的 TFDConnection 并切换到 Info 选项卡并检查它最终使用的驱动程序以及它提到的任何注释。

OP 的注释:为了为我工作,我需要在其 DriverID 属性 上为 TFDPhysMSSQLDriverLink 组件命名并设置该名称到 TFDConnection 的 DriverName 属性。