13

打印报表时,用户有时会遇到以下错误:

CrystalDecisions.CrystalReports.Engine.LogOnException:  
文件 C:\DOCUME~1\carolec\LOCALS~1\Temp\temp_b117cc2e-c184-4556-a493-e04e6d4126fb {388C2B55-114E-4087-A22D-9289902AFDEB}.rpt 中的错误:  
无法连接:登录参数不正确。---> System.Runtime.InteropServices.COMException (0x8004100F):
文件 C:\DOCUME~1\carolec\LOCALS~1\Temp\temp_b117cc2e-c184-4556-a493-e04e6d4126fb {388C2B55-114E-4087-A22D-9289902AFDEB}.rpt 中的错误:
无法连接:登录参数不正确。
   à CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.GetLastPageNumber(RequestContext pRequestContext)
   à CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
   --- Fin de la trace de la Pile d'exception interne ---
   à CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
   à CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)
   à CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collat​​ed, Int32 startPageN, Int32 endPageN)
   à CrystalDecisions.CrystalReports.Engine.ReportDocument.PrintToPrinter(Int32 nCopies, Boolean collat​​ed, Int32 startPageN, Int32 endPageN)

关于解决方案的任何想法?

配置:C# (2008)、WinForm、Crystal Report 10、SQL Server 2008 Express(本地)

4

5 回答 5

11

有一段时间没用过 Crystal Reports,但一般来说,类似“LogOn Exception”的错误实际上可能与安全性无关,Crystal Report 错误可能有点随机。

它可能是与内存问题有关的错误。

或者...

它可能是特定于报告的,子报告可能会尝试使用存储在报告中的凭据而不是您通过代码传递给它的凭据来登录;您需要遍历所有子报告,而不仅仅是设置登录信息的主报告。

我记得当我使用解决方法为报告安装动态徽标(从另一个数据库表中的二进制字段中提取)时遇到了这个特殊错误,除了它为每行数据提取徽标数据时出现了轻微错误; 在返回一定数量的行后,它死了,导致类似的错误。

于 2009-07-06T15:35:11.953 回答
11

对于遇到相同问题的任何人,还要检查您的报告的数据源提供程序是否为“SQL Native Client”。如果是,这在您没有安装 SQL 客户端的生产服务器中不起作用。它必须是“SQLOLEDB”,因为它可以在没有安装 SQL 客户端的机器上工作。

这就是为什么我的报告在我的测试服务器(具有 SQL Server 客户端)上工作而在我的生产服务器上不起作用的原因

于 2016-06-17T16:11:16.573 回答
2

我有同样的问题,但已经解决了。

问题出在 odbc 连接中。只需安装 SQL 本机驱动程序即可在 odbc 中添加连接。下载链接 https://support.fotoware.com/hc/en-us/articles/208664385-Microsoft-SQL-Native-Client-fails-to-download-during-FotoWeb-setup

于 2016-08-23T05:00:59.153 回答
0

如果您有一份过去可以正常工作的报告,但突然停止工作...并且您正在使用 SQL Server 身份验证...请检查登录帐户上的密码到期日期。:)

于 2018-01-27T01:44:12.130 回答
0

对我来说,我为错误的报告对象创建了一个新实例。当我改正一个时,问题就解决了。它与连接无关。

NewVehicleLicense report = new NewVehicleLicense();
report.SetDataSource(vehicleLiceseData);
于 2021-09-27T09:04:52.227 回答