问题描述
我想使用用于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]转换为勇气varchar'X'提示数据时出错。
如何告诉FireDAC使用sql Server 17的ODBC驱动程序的正确方法?另外,我还可以告诉FireDAC在设计时使用最新的ODBC驱动程序而不是本机客户端吗?。
谢谢。
解决方法
在设计时:将TFDPhysMSSQLDriverLink放在数据模块或表单上,并将ODBC驱动程序设置为:在下拉菜单中将用于SQL Server的ODBC驱动程序17 。
在那之后,打开您的TFDConnection并切换到 Info 标签,并检查它最终使用的驱动程序以及它提到的任何注释。
OP中的注释:为了对我有用,我需要在其DriverID属性上为TFDPhysMSMSSQLDriverLink组件命名,并将该名称设置为TFDConnection的DriverName属性。 >