直到几周前,我的报表还成功连接到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
---------------------------
我该如何解决这个问题?
要解决此错误,只需使用新的 sqlserver 数据库更新晶体报告即可。此错误表明 sqlserver 凭据与报表数据源的凭据不匹配。
理想情况下,如果你通过代码执行此操作,那么始终编写此语句,该语句动态访问和设置可信度
ReportDocument cryReportDocument = .......;
cryReportDocument.SetDatabaseLogon("userName", "password");
cryReportDocument.SetParameterValue("parameterName", value);
CrystalReportViewer1.ReportSource = cryReportDocument;
查看链接
如何防止水晶报告在直接设置数据源时请求凭据/参数?
动态设置水晶报告仍要求数据库登录
https://www.codeproject.com/Questions/696567/crystal-report-Runtime-Login-Prompt
这清楚地告诉您凭据有问题。如果这是在设计器中,则意味着您的服务器定义可能会更改,因此在更新中连接时,它需要确切的数据库凭据。只需通过数据库>验证数据库重新检查,我认为这解决了您的问题。
为什么在使用 .NET 对象作为数据源时,在 Crystal Reports 中出现"数据库登录失败"?
此问题与水晶报告无关。这与 oledb 提供程序有关,如果当前提供程序是"SQL Server 的Microsoft OLE DB 提供程序",请将其更改为"Microsoft OLE DB Driver for SQL Server"或 SQL Server 本机客户端 11.0 和 +。 请创建 .UDL 文件并测试。