CR13 SP26 Visual Studio错误CrystalReports.Engine.DataSourceException

2020-08-25 19:25发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我一直在使用CR13SP25在Visual Studio 2017中工作,并去添加另一个报告。 但是,缺少工具箱中的"报告"文件夹。 "添加新"菜单中也缺少Crystal Reports。 我升级到CR13 SP26,将这些菜单项带回了,但是现在在尝试加载数据集时抛出错误。 我返回到SP25,并很好地打印了报告,但是菜单项再次丢失。 数据集来自XML序列化(下面发布的代码)。 关于如何使它在任何一个程序包中工作都知道吗?

CrystalDecisions.CrystalReports.Engine.DataSourceException:文件temp_7860d069-b58b-4be6-847f-941a1b6bd46d 9440_12448_ {F0FC6F00-172F-45E1-A817-C49361900543}中的错误。rpt:
无法加载数据库信息。 ---> System.Runtime.InteropServices.COMException:文件temp_7860d069-b58b-4be6-847f-941a1b6bd46d 9440_12448_ {F0FC6F00-172F-45E1-A817-C49361900543} .rpt中的错误:
无法加载数据库信息。 在CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val,Type type)
在CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection,Object newConnection,Object parameterFields,Object crDBOptionUseDefault)
在CrystalDecisions。 CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
---内部异常堆栈跟踪的结尾---在CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
处的CrystalDecisions。 CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
在CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)

源代码:

命名空间SORReceipts.Receipts
{
公共部分类dspReceiptModify:Form
{
受保护的静态字符串_username = System.Security.Principal.WindowsIdentity.GetCurrent()。Name.Split('\ \')[1];
私有静态只读log4net.ILog日志= log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod()。DeclaringType);
受保护的静态DataSet数据= null;

public dspReceiptModify(ReceiptTransaction receive)
{
log.Info ("已修改打印收据开始" );
InitializeComponent();
log.Info ("-InitializeComponent complete" );
log.Info ("打印收据修改已完成");
PrintReceipt( 收据);
}

公共无效PrintReceipt(ReceiptTransaction收据)
{
receive.DateStringForPrinting = receive.TransactionDateStamp.ToString(" MM/dd/yyyy h:mm tt");
receive.DatePrinted = DateTime.Now.ToString(" MM/dd/yyyy h:mm tt");

try
{
var xmlDocument = new XmlDocument();
var serializer = new XmlSerializer(receipt.GetType());

rptReceiptModify prntreceipt = new rptReceiptModify();

使用(var stream = new MemoryStream())
{
serializer.Serialize(流,收据);
stream.Flush();
stream.Seek(0,SeekOrigin.Begin);
xmlDocument.Load(stream);
}

var context =新的XmlParserContext(null,新的XmlNamespaceManager(new NameTable()),null,XmlSpace.None);
var reader =新的XmlTextReader(xmlDocument.OuterXml,XmlNodeType.Document,context);

数据=新的DataSet();

data.ReadXml(阅读器);

SetPrinterSettings.SetPrinter(prntreceipt);

字符串打印机= prntreceipt.PrintOptions.PrinterName .ToString();

prntreceipt.SetDataSource(data);
crystalReportViewer1.ReportSource = prntreceipt;

字符串_prntFileName =" Reciept_" +收据.TransactionID.ToString ()+" _" +收据.DatePrinted.Replace("/"," _")。Split('')[0];
prntreceipt.SummaryInfo.ReportTitle = _prntFileName;

prntreceipt。 PrintToPrinter(1,false,0,0);
log.Info ("-收据 " + receive.TransactionID.ToString()+" Printed");
crystalReportViewer1.ReportSource = null;
data.Reset();
}
catch(异常)
{< br> LoggingHelper.Exceptionthrown("无法打印修改的收据",例如);
if(UserMessaging.PrintFailed())
{
PrintBackupReceipt(data,receive);
}
}
}

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我一直在使用CR13SP25在Visual Studio 2017中工作,并去添加另一个报告。 但是,缺少工具箱中的"报告"文件夹。 "添加新"菜单中也缺少Crystal Reports。 我升级到CR13 SP26,将这些菜单项带回了,但是现在在尝试加载数据集时抛出错误。 我返回到SP25,并很好地打印了报告,但是菜单项再次丢失。 数据集来自XML序列化(下面发布的代码)。 关于如何使它在任何一个程序包中工作都知道吗?

CrystalDecisions.CrystalReports.Engine.DataSourceException:文件temp_7860d069-b58b-4be6-847f-941a1b6bd46d 9440_12448_ {F0FC6F00-172F-45E1-A817-C49361900543}中的错误。rpt:
无法加载数据库信息。 ---> System.Runtime.InteropServices.COMException:文件temp_7860d069-b58b-4be6-847f-941a1b6bd46d 9440_12448_ {F0FC6F00-172F-45E1-A817-C49361900543} .rpt中的错误:
无法加载数据库信息。 在CrystalDecisions.CrystalReports.Engine.Table.SetDataSource(Object val,Type type)
在CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.ReplaceConnection(Object oldConnection,Object newConnection,Object parameterFields,Object crDBOptionUseDefault)
在CrystalDecisions。 CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
---内部异常堆栈跟踪的结尾---在CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
处的CrystalDecisions。 CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val,Type type)
在CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet)

源代码:

命名空间SORReceipts.Receipts
{
公共部分类dspReceiptModify:Form
{
受保护的静态字符串_username = System.Security.Principal.WindowsIdentity.GetCurrent()。Name.Split('\ \')[1];
私有静态只读log4net.ILog日志= log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod()。DeclaringType);
受保护的静态DataSet数据= null;

public dspReceiptModify(ReceiptTransaction receive)
{
log.Info ("已修改打印收据开始" );
InitializeComponent();
log.Info ("-InitializeComponent complete" );
log.Info ("打印收据修改已完成");
PrintReceipt( 收据);
}

公共无效PrintReceipt(ReceiptTransaction收据)
{
receive.DateStringForPrinting = receive.TransactionDateStamp.ToString(" MM/dd/yyyy h:mm tt");
receive.DatePrinted = DateTime.Now.ToString(" MM/dd/yyyy h:mm tt");

try
{
var xmlDocument = new XmlDocument();
var serializer = new XmlSerializer(receipt.GetType());

rptReceiptModify prntreceipt = new rptReceiptModify();

使用(var stream = new MemoryStream())
{
serializer.Serialize(流,收据);
stream.Flush();
stream.Seek(0,SeekOrigin.Begin);
xmlDocument.Load(stream);
}

var context =新的XmlParserContext(null,新的XmlNamespaceManager(new NameTable()),null,XmlSpace.None);
var reader =新的XmlTextReader(xmlDocument.OuterXml,XmlNodeType.Document,context);

数据=新的DataSet();

data.ReadXml(阅读器);

SetPrinterSettings.SetPrinter(prntreceipt);

字符串打印机= prntreceipt.PrintOptions.PrinterName .ToString();

prntreceipt.SetDataSource(data);
crystalReportViewer1.ReportSource = prntreceipt;

字符串_prntFileName =" Reciept_" +收据.TransactionID.ToString ()+" _" +收据.DatePrinted.Replace("/"," _")。Split('')[0];
prntreceipt.SummaryInfo.ReportTitle = _prntFileName;

prntreceipt。 PrintToPrinter(1,false,0,0);
log.Info ("-收据 " + receive.TransactionID.ToString()+" Printed");
crystalReportViewer1.ReportSource = null;
data.Reset();
}
catch(异常)
{< br> LoggingHelper.Exceptionthrown("无法打印修改的收据",例如);
if(UserMessaging.PrintFailed())
{
PrintBackupReceipt(data,receive);
}
}
}

付费偷看设置
发送
6条回答
葫芦娃快救爷爷
1楼 · 2020-08-25 20:17.采纳回答

仅将EXE安装到DEV PC上,不要安装MSI软件包。

转到"程序和功能",并验证您仅安装了VS CR和64位运行时软件包。 p>

是否已从App.config文件中删除了LegacyMode?

它不再需要,并且如果使用了它也会引起问题。

还要验证项目中的所有程序集是否 现在13.0.4000.0

lukcy2020
2楼-- · 2020-08-25 20:17

嗨,我有同样的问题。 我没有安装MSI,并且已经在web.config中检查了配置。 所有程序集都是13.0.4

樱桃小丸子0093
3楼-- · 2020-08-25 20:05

我已经为Visual Studio卸载了运行时和cr,然后又安装了新程序,它可以在vs2017和vs2019中使用!

?????

我不知道为什么;

更新过程中可能有错误

奄奄一息的小鱼
4楼-- · 2020-08-25 20:11

CrystalDecisions.CrystalReports.Engine.DataSourceException
HResult = 0x80041700
Nachricht = Fehler in der Datei temp_1fa094f3-28a7-4b53- a107-9842d112b712 24212_18552_ {6A5D0444-AB6B-44C9-BAFF-50499DB4836D} .rpt:
费勒·本·拉登·德·达登银行信息
Quelle = Ausnahmestapelüberwachungkann nicht ausgewertet werden。>

内部Ausnahme 1:
COMException:Fehler in der Datei temp_1fa094f3-28a7-4b53-a107-9842d112b712 24212_18552_ {6A5D0444-DB6BA-836
Fehler beim Laden der Datenbankinformationen

昵称总是被占用
5楼-- · 2020-08-25 20:13

感谢Don的快速答复。

我认为这是msi/exe问题。 在等待答复时,我卸载了CR13SP25,然后重新启动,然后看到您答复,因此我安装了CR13SP26 exe版本。 经过测试,它没有抛出错误。

我安装了Crystal Reports XI R2和CR XI Release 2 .NET 2005 Server,安装了.net的CR运行时引擎和Visual Studio的CR版本。 我必须保留CR XI R2和服务器安装的其他用途。

在App.config中没有对"旧版"进行文本搜索,但未返回任何内容。

程序集为13.0.4000.0

现在就可以了,谢谢您的帮助。

wang628962
6楼-- · 2020-08-25 20:07

感谢彼得,这对我也很有效...也许是升级与安装有关的问题。

一周热门 更多>