我對Crystal Reports有一個奇怪的(但也是常見的)問題。Crystal Reports數據庫登錄失敗,使用SQL Server 2014和Windows 10
數據庫是SQL服務器2014快捷(12.0.2000或12.0.2269)
的Web應用程序可以連接到數據庫,沒有任何問題。用戶想要運行報告時出現問題。
現在,我有幾個生產基地。 Windows Server 2012 R2雲虛擬機,幾臺Windows Server 2008 R2機器和一臺Windows 10機器。
報告在Windows Server 2008計算機上運行良好,但在服務器2012 R2或win 10上運行良好。在那裏,我遇到了可怕的數據庫登錄失敗錯誤。它甚至不適用於我的開發筆記本電腦(Win 10)。我的意思是我可以在Visual Studio中運行報告,但不能在將它們部署到IIS之後運行。
報告本身主要使用SQL本機客戶端(SQLNCLI11)驅動程序連接到數據庫,其中一些使用OLE DB(SQLOLEDB),但這似乎不是問題,因爲我已經嘗試了兩個版本,並且他們都失敗了。
現在,我想也許應用程序中缺少一些DLL,但部署到贏得服務器2008的非常相同的應用程序工作得很好。所以我在想,它一定是環保的。但是什麼?
我猜測客戶端驅動程序在某種程度上被破壞,或者在新版本的Windows中發生了某些變化。
所以,我要求一些想法,如果有人有任何意見,可以指向正確的方向。
這是錯誤片段:
[COMException (0x8004100f): Database logon failed.]
CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +644
[LogOnException: Database logon failed.]
CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +263
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +1522
CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +704
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options) +115
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportFormatType formatType) +96
SYSTEM.Controllers.ReportController.GenerateReport(NameValueCollection Form, String how) in C:\SYSTEM\SYSTEM\Controllers\ReportController.cs:210
SYSTEM.Controllers.ReportController.Index() in C:\SYSTEM\SYSTEM\Controllers\ReportController.cs:467
lambda_method(Closure , ControllerBase , Object[]) +90
UPDATE:
這似乎是由於Windows 10,但我還沒有找到一個解決方案。
SAP說安裝.NET 3.5,因爲它沒有默認安裝在WIN 10中,但即使在我這樣做時,錯誤仍然存在。
您應該安裝CR的13.0.15版本,因爲它不是唯一支持WIN 10的版本,但正如我所說,它不起作用。
我測試過三種不同的WIN 10機器,結果總是一樣的。
我在使用NativeClient作爲提供者的sql 2008上有類似的問題,改爲使用OLEDb解決了這個問題。事實上,OLEDb在我使用OLEDb時工作得很好。我現在只是避免使用NativeClient。 – aMazing