好的这里是我有一个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到旧的数据库。如果我使用完全相同的逻辑重写它,但通过上述错误更新了报告,我能够得到一份工作报告。我如何解决它?