如何在多台客户端计算机上运行Crystal Reports?

2020-08-16 10:51发布

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

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


嗨,我在 vb.net 项目中创建了水晶报表,它在我的系统上运行良好 但是,当我尝试在客户端计算机上运行项目时,该项目会运行,但只有Crystal报表不会运行。 它在" CrystalReports.Engine.ReportDocument"中给出了错误。 我尝试了多种方法来解决它,但徒劳无功。 因此,请帮助我在除我以外的所有计算机上运行Crystal Reports。

我正在构建公司将在其拥有Windows 10到XP的各个部门中使用的项目,因此我需要一个可以实施一次且可以在运行解决方案文件(.exe)的任何计算机上使用的解决方案。

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

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


嗨,我在 vb.net 项目中创建了水晶报表,它在我的系统上运行良好 但是,当我尝试在客户端计算机上运行项目时,该项目会运行,但只有Crystal报表不会运行。 它在" CrystalReports.Engine.ReportDocument"中给出了错误。 我尝试了多种方法来解决它,但徒劳无功。 因此,请帮助我在除我以外的所有计算机上运行Crystal Reports。

我正在构建公司将在其拥有Windows 10到XP的各个部门中使用的项目,因此我需要一个可以实施一次且可以在运行解决方案文件(.exe)的任何计算机上使用的解决方案。

付费偷看设置
发送
5条回答
灬番茄
1楼-- · 2020-08-16 11:24

您不能仅将程序及其使用的程序集复制到新计算机上。 相反,您必须以与用于生成程序的版本匹配的版本安装Crystal for .NET运行时。 这是因为程序使用的程序集需要其他一些.dll文件,包括一些包含需要注册的COM组件的文件。 实现所有这些功能的唯一方法是多带带安装运行时。

假设您使用的是VS 2010或更高版本,则将找到指向SAP上SDK运行时安装的链接。 适用于Visual Studio Wiki的Crystal Report 这里

-戴尔

clasier
2楼-- · 2020-08-16 11:34

谢谢 用于访问SAP社区以获取问题的答案。 既然你是新人 第一次在这里提问时,建议您熟悉一下 使用 https://community.sap.com/resources/questions-and-answers (如果您 还没有),因为它提供了提示 用于准备可以引起我们成员回复的问题。

应该 您可以根据需要修改问题,方法是选择"操作",然后选择"编辑" (尽管一旦有人回答了您的问题,您将失去编辑功能 问题-但是,如果发生这种情况,您可以在评论中保留更多详细信息。

最后, 如果您希望与读者交流,请考虑将图片添加到 你的个人资料。 操作方法如下: https://www.youtube.com/watch?v=F5JdUbyjfMA&list=PLpQebylwrd-s5 h6RtymfDpoz3vDS 。 通过使用您的照片个性化您的个人资料,可以鼓励读者 回应。

最佳 问候

Mynyna

SAP 社区主持人

半个程序猿
3楼-- · 2020-08-16 11:16

我正在使用Visual Studio 2019和Crystal Reports Runtime 13_0_27版本。 运行时版本(32位和64位)都安装在另一台计算机上,并且在其中一个在线答案中建议使用crdb_fielddef.dll。 在该系统上还提供了读取数据库的权限。

该项目的工作逻辑是-当我们要打印有关特定记录的信息时,将捕获选定的索引号并将其传输到另一种形式(.vb),在该形式中,数据是从SQL Server数据库中获取的, 存储在项目表中多带带的新数据集中的空表中。 然后,水晶报表将这些记录存储在数据集中的表中,并显示记录。

我已经从"数据库专家"那里检查了数据源的位置,它与所需的位置相同。

尝试了多种方法后,问题是一样的-整个项目都在我的机器上运行,但是在应该运行该机器的另一台机器上,所有页面都显示了记录,但是当尝试使用Crystal显示打印预览时 报告,它显示错误-"无法加载数据库信息"。

天桥码农
4楼-- · 2020-08-16 11:29

我在表单内的代码如下-

导入CrystalDecisions.CrystalReports.Engine

公共类ChemLabGradePrint

新建公共子类(ByVal GradeIndex1为整数)

InitializeComponent()

Dim ff作为新的PourChemistryDataset.PourChemistryDataTable

昏暗的结果作为PourChemistrReportList

昏暗的SMin作为字符串

昏暗的RMin作为字符串

昏暗的RMax作为字符串

昏暗c作为整数结果=新的PourChemistrReportList(ReaderF(GetPourChemistryReport(GradeIndex1)))

对于c = 0到result.ElementName.Count-1

如果IsNumeric(result.SpecMin(c))并且CDbl(result.SpecMin(c))<> 0然后

SMin = result.SpecMin(c)

其他

SMin =""

如果结束

如果IsNumeric(result.RestrMin(c))And CDbl(result.RestrMin(c))<> 0然后

RMin = result.RestrMin(c)

其他

RMin =""

如果结束

如果IsNumeric(result.RestrMax(c))And CDbl(result.RestrMax(c))<> 0那么

RMax = result.RestrMax(c)

其他

RMax =""

如果结束

'//将记录存储在PourChemistryDataTable表的空表(手动构建)中

ff.Rows.Add(result.ElementName(c),

SMin,result.SpecMax(c),RMin,RMax,result.Pref(c),

result.Bckp(c),result.Comments(c))

下一步

'-------报告

将RDoc变暗为新的ReportDocument

RDoc.Load(CrystalReportViewer1.ReportSource)

RDoc.SetDataSource(DirectCast(ff,DataTable))

RDoc.SetParameterValue(" METGrade",result.MetCode(0))

'//" METGrade"是水晶report.rpt文件中的"参数"字段

RDoc.SetParameterValue(" GradeName",result.GradeName(0))

CrystalReportViewer1.ReportSource = RDoc

结束子

结束班级

然后,将Crystal Report设置为PourChemistryDataTable表的数据源位置,并在报告中显示数据。

所有这些过程都可以在我的系统上正常运行,但不能在其他系统上运行。 将安装相同的运行时版本,并且还授予读取访问权限以访问SQL Server的.mdf文件。 将项目的sql源设置为自动以获取sqlserver和数据库信息。

Designer.vb中的CrystalReportViewer1.ReportSource是=>

Me.CrystalReportViewer1.ReportSource =" P:\ ASW-Core-Shop_New \ ASW-Core-1.1 \ Reports \ ChemLabGradeReport.rpt"

手动设置它是因为它给出了"无法将report.reportSource转换为String"的错误,因此它被手动设置为文件位置。 工厂中的任何计算机都可以访问存储项目的文件位置,因为每个人都可以访问该驱动器。 因此,每个人的系统都可以访问reportSource的文件位置。

Doze时光
5楼-- · 2020-08-16 11:14

我正在使用Visual Studio 2019和Crystal Reports Runtime 13_0_27版本。 运行时版本(32位和64位)都安装在另一台计算机上,并且在其中一个在线答案中建议使用crdb_fielddef.dll。 在该系统上还提供了读取数据库的权限。

该项目的工作逻辑是-当我们要打印有关特定记录的信息时,将捕获选定的索引号并将其传输到另一种形式(.vb),在该形式中,数据是从SQL Server数据库中获取的, 存储在项目表中多带带的新数据集中的空表中。 然后,水晶报表将这些记录存储在数据集中的表中,并显示记录。

我已经从"数据库专家"那里检查了数据源的位置,它与所需的位置相同。

尝试了多种方法后,问题是一样的-整个项目都在我的机器上运行,但是在应该运行该机器的另一台机器上,所有页面都显示了记录,但是当尝试使用Crystal显示打印预览时 报告,它显示错误-"无法加载数据库信息"。

一周热门 更多>