2016-03-30 45 views
0

我有Crystal Reports的問題,報告在開發環境中工作正常,但是在執行應用程序時在測試服務器我得到這個提示從CrystalViewer:Crystal Reports,'您請求的報告需要進一步的信息'正在開發中正常工作,而不是在測試服務器上工作

Server name: *Here's the absolute path of the report in the development server* 
Database name: *Correctly filled* 
User name: *Correctly filled* 
Password: *Empty* 

這是我使用傳遞的登錄信息報告的代碼:

Try 
     rptDoc = New ReportDocument 
     rptPath = Server.MapPath(rutaReporte) 
     Dim conInfo As New ConnectionInfo 
     conInfo.ServerName = Server.MapPath("~/reportes.dsn") 
     conInfo.DatabaseName = "database" 
     conInfo.UserID = "reportUser" 
     conInfo.Password = "password" 
     rptDoc.Load(rptPath) 
     setInicioReportes(conInfo, rptDoc) 
     CrystalReportViewer1.ReportSource = rptPath 
    Catch ex As Exception 
     'Show error message 
    End Try 

我不明白爲什麼CrystalReport不識別DSN文件我已經在代碼中指定了。在DNS文件中,我保存了密碼,user_id,服務器和數據庫,正如我之前所說的那樣,它正在開發環境中工作。

如果有人知道如何解決這個問題,這將是非常有幫助的。

感謝大家。

編輯:此外,當我在提示輸入密碼嘗試登錄頁面刷新並沒有任何反應,提示再次彈出。

回答

0

在Visual Studio中,在解決方案資源管理器中,您將需要單擊引用,然後CrystalReports.Shared,然後設置屬性,如:

CopyLocal True

集嵌入互操作類型爲False,複製本地爲真。

CrystalDecisions.Shared是您爲CrystalReports存儲連接類定義的地方。如果服務器上沒有Visual Studio環境(或附近的這個庫),這很可能是您遇到錯誤的原因。

重新構建您的解決方案並將新的可執行文件放在您的服務器上,它應該可以工作!

+0

感謝您的回答,我已經檢查了您的建議,但似乎並未解決問題,我意識到這只是我通過代碼傳遞參數的報告,這些代碼給了我這個錯誤,你認爲這與我傳遞參數的方式有關? – starLight

+0

這些參數對我來說看起來不錯,而且它在開發計算機上而不是在服務器上工作的事實表明服務器上存在的某些內容不會導致程序崩潰。我可以考慮幾件事情來檢查:1.您在開發計算機上設置的ODBC DSN是否與您在服務器上設置的相同? 2.您是否嘗試過將所有正在使用的Crystal引用的Copy Local設置爲true? 3.服務器是否安裝了.NET(檢查C:\ Windows \ Microsoft.NET)4.您是否將解決方案構建爲發佈(而不是調試)? – Dustin

相關問題