【问题标题】:Connect FireDAC to SQL Server through ODBC Driver 17 instead of SQL Server Native Client通过 ODBC Driver 17 而不是 SQL Server Native Client 将 FireDAC 连接到 SQL Server
【发布时间】:2021-01-10 20:14:47
【问题描述】:

我想使用最新的 Microsoft ODBC Driver for SQL Server 17 连接我的 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]Error de conversión al convertir el valor varchar 'X' al tipo de datos int.

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

谢谢。

【问题讨论】:

    标签: sql-server delphi sql-server-2017 firedac delphi-10.4-sydney


    【解决方案1】:

    在设计时:在数据模块或表单上放置一个 TFDPhysMSSQLDriverLink 并将 ODBC 驱动程序设置为:ODBC Driver 17 for SQL Server

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

    来自 OP 的说明:为了为我工作,我需要在 TFDPhysMSSQLDriverLink 组件的 DriverID 属性上为其命名,并将该名称设置为 TFDConnection 的 DriverName 属性。 p>

    【讨论】:

    • 感谢 Brian,它可以工作,但我需要通过它们的 DriverID 和 DriverName 属性链接 TFDPhysMSSQLDriverLink 和 TFDConnection。我已接受并在您的回答中添加了注释。
    猜你喜欢
    • 2016-06-17
    • 2016-11-24
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    相关资源
    最近更新 更多