2009-07-08 92 views
1

好的這裏是我有一個VB6應用程序正在重寫爲asp.net 3.5的情況。我有一大堆水晶報表正在升級到Crystal Reports 10.5(包含在Visual Studio 2008中)。所有的舊報告都使用OLEDB。我正在做的是將報表中使用的sql語句放入數據庫中。接下來我運行一個自動化流程,從這些select語句創建一個Dataset,然後序列化DataSet並將模式和數據保存爲XML文檔。然後我進入舊報告將其更新到Crystal Reports 10.5並更改數據源位置,以便它使用XML文檔。Crystal Reports - 提供了無效的參數。無法打開行集。 ADO.Net xml

當運行報表創建相同的數據集,並代替其序列爲XML我把它分配給報告(見下文)

rd.Database.Tables(0).SetDataSource(ds) 

我已經測試過這一點,如果沒有得到任何錯誤我創建新的報告,但是如果我採用現有報告並更改數據庫位置,我會收到以下錯誤

提供了無效的參數。無法打開行集。文件C:\ DOCUME〜1 \ username \ LOCALS〜1 \ Temp \ R-302 {D49E0C73-47AC-4363-AAD5-E925DFCF446E} .rpt中的錯誤:數據庫的參數無效。 在CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(例外五)在CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)在CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream

看起來好像報告仍在嘗試連接使用OLEDB到舊的數據庫。如果我使用完全相同的邏輯重寫它,但通過上述錯誤更新了報告,我能夠得到一份工作報告。我如何解決它?

回答

0

我有完全相同的錯誤和上下文(Visual Studio 2008中的Crystal Report)。 在新報告中使用我的新連接是好的,但將此相同連接分配給舊報告(帶有「設置數據源位置」)時,在使用具有函數ExportToStream的報告時,我得到了此錯誤。

我最終做的是「數據庫專家」,刪除我的連接,並說「確定」到「刪除文件」框中「從這個文件的報告中有字段,繼續嗎?」這樣做會刪除報告中的所有字段。我必須重新插入它們並重新選擇我的組的字段,但至少,我不必重做所有佈局。

我想這是Visual Basic的Crystal Report中的一個錯誤。

1

我在這裏發佈這是因爲它是「無效參數提供晶體」的最高結果。

我正在Crystal Reports XI中處理一個報告,該報告已鏈接到我試圖通過GUI更改的數據源。選擇新的數據源並單擊更新似乎什麼也不做,我會關閉對話框,此時我會收到消息「無效的參數提供」。在最終關閉並重新打開文件之前,我嘗試了很多事情,這些文件在我再次嘗試時運行。

這使我可以在不刪除任何關聯字段的情況下修改數據源。

爲了VPN目的,我的工作PC保持登錄/開啓/鎖定24/7,並且我在前一天打開了有問題的報告。我的猜測是,與SQL實例的連接已經超時並且沒有被重新建立。

我對這個老問題的譴責表示歉意,或者這是錯誤的做法;但鑑於網頁在搜索結果中的突出地位,我希望這可以幫助別人。