点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我已经在SAP Crystal Report的标签下发布了这个问题,但没有太大帮助。
我有一个使用Visual Studio 2013,Crystal报表13.0.17.2096和SQL Server 2012在Windows 10中开发的报表。报表是使用数据集填充的,并且具有一个表。 在开发环境中,它工作正常。 从菜单项中调用此报告。 客户每天都登录到主程序,然后一天多次打印此报告。 当他们当天第一次打印此报告时,将弹出一个数据库登录对话框,并且不允许他们打印报告。 他们关闭了该程序,然后再试一次,它在一天的剩余时间内都可以正常工作。 每天,客户在离开之前都要关闭我们的主程序。 每天都会发生此问题。 我们的客户使用Windows 10,并且具有32位和64位运行时。 我也尝试提供登录信息,但是没有用。 使用Crystal报表13.0.17.2096转换的所有这些报表都具有相同的问题。 请帮忙。
这是我的代码:
'--这些变量在表格的开头定义
将sConnStr设为字符串= _
"用户ID ="&EntryPoint.ssUser&_
"; Password ="&EntryPoint.ssPassword&_
";初始目录="&EntryPoint.ssDatabase&_
";数据源="&EntryPoint.ssServer
将mConn设置为新的SqlConnection(sConnStr)
'---------------------------------------------- -----
'-----下面的代码位于按钮单击事件中------------
将其作为新的SqlDataAdapter(sql,mConn)
将ds用作新的DataSet1
mConn.Open()
da.Fill(ds," datatable1")
mConn.Close()
将objRpt设为新SalesByContact'------报告
objRpt.SetDataSource(ds.Tables(" datatable1"))
CrystalReportViewer1.ReportSource = objRpt
CrystalReportViewer1.Refresh()
尝试将所有报告更新到CR 2016,登录到数据库服务器,然后从菜单中验证"数据库",然后预览每个。
您可以在此处获得CR 2016试用版:
https://www.sap.com/products/crystal-reports.html
修复所有错误或字段映射等。
购买一个案例,然后将报告发送给我,我会做一些测试。
https://www.sapstore.com /
Don
嗨威廉姆斯
我忘了提到我们的项目是Windows项目而不是Web项目。 以为它可以在Windows 10计算机上运行,我们将其编译为.Net Framework 2.0。
这些报告最初是使用Visual Studio 2005和Crystal Report 10.2.36在Windows XP上创建的,并且运行了好几年没有问题。 由于我们使用水晶报表13.0.17.2096对其进行了转换,因此出现了这个问题。 我们的用户每天都对此抱怨。
CrystalReportViewer1.Refresh()并非在所有报告中,仍然存在此问题。
不要使用此:
CrystalReportViewer1.Refresh()
这会导致DB登录弹出,因为它不使用 数据集。
报告中是否有任何子报告?
并且失败的唯一原因是因为DSS与Reports数据库信息不匹配。
Don
嗨,唐
根据您的建议,我在设计时将数据集导出到xml并将其附加到我的报告中。 它没有给出任何警告,我可以通过单击"报告预览"选项卡查看设计时的日期。 我还比较了xml中的数据类型和它们匹配的数据集的数据类型。 如您所知,我的报告未连接到数据库,为什么用户会在对话框中获取数据库登录信息?
每天都有用户抱怨。 我不知道该怎么办。 我检查了所有在线建议,但无济于事。
关于" CrystalReportViewer1.Refresh()",我将从该报告中删除该行并进行尝试。 但是我还有另一个报表,其中未使用.Refresh()函数,但仍然存在相同的问题,并且它们没有子报表。
如何检查DSS是否与Reports数据库信息匹配 ?
将DS导出为XML,然后在CR Designer中将位置设置为XML文件,如果没有,则可能会立即投诉,如果没有,则在CR Designer中验证DB。
类似这样的东西:
ds.WriteXml(" c:\\ reports \\ sc2.xml",XmlWriteMode.WriteSchema);
Don
一周热门 更多>