You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi中TFDConnection连接SQL Server遇域控制器认证问题求助

Delphi TFDConnection连接跨AD树SQL Server的认证问题解决方案

问题背景

使用Delphi的TFDConnection连接位于不同AD树的SQL Server时,出现错误:The system cannot contact a domain controller to service the authentication request. Please try again later,但SSMS和手动配置的ODBC Driver 18数据源可正常连接(需勾选Trust Server Certificate)。

解决方案

  • 匹配ODBC数据源的完整参数
    打开已配置成功的ODBC数据源,复制其连接字符串参数,直接应用到TFDConnection的Params中。例如ODBC连接字符串可能包含:

    Driver={ODBC Driver 18 for SQL Server};Server=你的SQL服务器地址;Database=目标数据库名;Trusted_Connection=Yes;TrustServerCertificate=Yes;Authentication=NTLM
    

    对应到FireDAC的Params里,需确保包含以下关键项:

    DriverID=MSSQL
    Server=你的SQL服务器地址
    Database=目标数据库名
    Integrated Security=SSPI
    TrustServerCertificate=Yes
    Authentication=NTLM
    

    (注:Authentication=NTLM用于强制使用NTLM认证,绕过跨AD树的Kerberos域信任问题)

  • 确认Windows凭据配置
    检查凭据管理器中的Windows凭据,确保目标服务器地址填写正确(可使用服务器IP或FQDN),用户名格式为跨AD树的域\用户名,凭据状态正常。

  • 调整FireDAC认证相关属性

    1. 将TFDConnection的LoginPrompt设为False,避免弹出登录框干扰Windows身份验证
    2. 确保Authentication属性设置为Windows(对应Windows身份验证模式)
  • 启用日志排查细节
    设置TFDConnection的LogActivity为True,指定LogFile路径生成调试日志,通过日志定位认证过程中的具体失败环节,进一步调整参数。

内容的提问来源于stack exchange,提问作者beantreeze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 12:32:02