直到几周前,我的报告已成功连接到SQL Server。现在它显示了这个错误:
---------------------------
Crystal Reports ActiveX Designer
---------------------------
Logon failed.
Details: ADO Error Code: 0x
Source: Microsoft OLE DB Provider for SQL Server
Description: [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.
SQL State: 08001
Native Error:
---------------------------
OK
---------------------------
我该如何解决这个问题?
答案 0 :(得分:0)
要解决此错误,只需使用新的sqlserver db更新Crystal报表即可。此错误表明您的sqlserver凭据和报告数据源的凭据不匹配。
理想情况下,如果您通过代码执行此操作,则始终编写此语句,该语句动态访问并设置凭证
ReportDocument cryReportDocument = .......;
cryReportDocument.SetDatabaseLogon("userName", "password");
cryReportDocument.SetParameterValue("parameterName", value);
CrystalReportViewer1.ReportSource = cryReportDocument;
参见链接
Dynamically set Crystal Report still asks for db login
https://www.codeproject.com/Questions/696567/crystal-report-Runtime-Login-Prompt
这清楚地告诉你凭证有问题。如果这是在设计器中,则意味着您的服务器定义可能会更改,因此在更新时连接时需要确切的数据库凭据。只需通过数据库 - >验证数据库重新检查,我认为这解决了您的问题。
Why do I get "Database logon failed" in Crystal Reports when using .NET object as datasource?
答案 1 :(得分:0)
此问题与水晶报表无关。这与oledb提供程序有关,如果您当前的提供程序是“ SQL Server的Microsoft OLE DB提供程序”,请将其更改为“ SQL Server的Microsoft OLE DB驱动程序”或SQL Server Native Client 11.0和+。 请创建.UDL文件并进行测试。