Crystal Report奇怪的错误(未知的查询引擎错误)

时间:2011-07-07 12:46:30

标签: c# .net visual-studio crystal-reports

我有一个使用Crystal Reports 2008作为报告工具的Windows应用程序。它在很长一段时间内工作正常,但昨天,当我试图加载任何报告时,我收到了这个错误:

CrystalDecisions.CrystalReports.Engine.DataSourceException: Unknown Query Engine Error
Error in File C:\Users\Magdy\AppData\Local\Temp\rpt_Stock_Cost {DC276D4F-79F4-43B9-8168-24E6B7BF490A}.rpt:
Unknown Query Engine Error ---> System.Runtime.InteropServices.COMException: Unknown Query Engine Error
Error in File C:\Users\Magdy\AppData\Local\Temp\rpt_Stock_Cost {DC276D4F-79F4-43B9-8168-24E6B7BF490A}.rpt:
Unknown Query Engine Error
   at CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection, Object newConnection, Object parameterFields, Object crDBOptionUseDefault)
   at CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val, Type type)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)
   --- End of inner exception stack trace ---
   at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type)
   at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)
   at Diamonds.UIL.Forms.frm_ReportViewer.Load_Report(String File_FullPath, DataSet DS) in E:\Development\Bitco\Diamond\Project\Diamond 2.0.1\Diamonds\UIL\Reports\Forms\Viewer\frm_ReportViewer.cs:line 256

以下是我用于加载和分配报告数据源的代码:

DataSet ds = new DataSet();
reportDocument_.Load(File_FullPath);
reportDocument_.SetDataSource(ds);

ds可以是类型化数据集。

经过一些谷歌搜索,我发现一些结果说我应该有网络服务,用户在Windows中的临时文件夹。虽然我认为这适用于Web应用程序,而不适用于Windows。我尝试了两个临时文件夹,以及异常中的上述文件夹,但都没有帮助。

我正在使用Visual Studio 2010,C#4.0,Windows应用程序

任何想法可能出错?

1 个答案:

答案 0 :(得分:11)

如果您在Win7计算机上的VS2010(或VS2012)中编译,请尝试将以下内容添加到 app.config

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

如果这不起作用(比如在我的机器上),请尝试在WinXP机器上的VS2010中进行编译。