Sql server FireDAC SQL Server连接:不受信任的证书

Sql server FireDAC SQL Server连接:不受信任的证书,sql-server,delphi,ssl,anydac,firedac,Sql Server,Delphi,Ssl,Anydac,Firedac,我通过在SQL Server上选择自签名证书启用了安全连接 我可以使用SQL Server Management Studio连接到它,并将TrustServerCertificate=True添加到其他连接参数中 我需要FireDAC连接的相同配置,因为它会给出类似的错误 SSL提供程序:证书链是由不受信任的机构颁发的 当我尝试连接时 如何将此告知FireDAC?(Delphi XE4,FireDAC:8) PS:我已经将我的自签名证书添加到windows“受信任的根证书颁发机构”中,但Fir

我通过在SQL Server上选择自签名证书启用了安全连接

我可以使用SQL Server Management Studio连接到它,并将
TrustServerCertificate=True
添加到
其他连接参数中

我需要FireDAC连接的相同配置,因为它会给出类似的错误

SSL提供程序:证书链是由不受信任的机构颁发的

当我尝试连接时

如何将此告知FireDAC?(Delphi XE4,FireDAC:8)

PS:我已经将我的自签名证书添加到windows“受信任的根证书颁发机构”中,但FireDAC似乎忽略了它


谢谢

您应该在连接定义参数中添加
ODBCAdvanced=TrustServerCertificate=yes
。还要验证是否已安装SQL Server本机客户端。阅读更多:

  • ODBC连接参数
  • FireDAC

谢谢,这解决了运行时的问题。我已将“TrustServerCertificate=yes”添加到TadphysMSQlDriverLink的ODBCAdvanced属性中。但是,如果在设计时使ADConnection.connected=true,则会出现另一个错误,即“SSL提供程序:目标主体名称不正确”。因此,运行时连接是可以的,但设计时连接仍然存在问题。有什么建议吗?我使用代理上的SQL连接隧道。(来自印地,TidMappedPortTCP在这方面做得很好)。我将尝试另一台具有直接internet连接的pc,并查看是否存在相同的错误。您应该将
ODBCAdvanced=…
添加到TADConnection.Params或持久连接定义参数中。