使用VS 2015的Crystal Report查看器输出为空白

2020-09-16 12:40发布

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

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


我正在64位上进行开发,并部署到32和64位计算机上。 该应用程序是针对x86编译的。 这些报告是使用与MySQL数据库的ODBC连接创建的,但是代码会根据存储的连接字符串动态更改连接详细信息,该字符串与用于加载应用程序数据集的连接字符串相同。

报表是未嵌入的,并且在CR 2016和CRXI中以及在开发PC上从已编译的应用程序运行时都可以正常运行。 但是,在客户端PC上,查看器中的输出为空白。 没有错误。 多个报告具有参数提示,并出现提示,显示"请稍候……"消息,但随后只有空白查看器。

开发PC安装:

Visual Studio 2015

Microsoft .NET Framework 4.7

mysql-connector-odbc-5.3.9-win32.msi(用于创建报告)

mysql-connector-net-6.9.8.msi(x86,32位)

mysql-for-visualstudio-1.2.6.msi(x86,32位)

CRforVS_13_0_22.exe

参考均为.NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86 \ dotnet \(CrystalDecisions.CrystalReports)的C:\ Program Files(x86)\ SAP BusinessObjects \ Crystal Reports中的所有版本13.0.35.00.0。 引擎,CrystalDecisions.ReportSource,CrystalDecisions.Shared,CrystalDecisions.Windows.Forms)

目标PC安装:

Microsoft .NET Framework 4.7

CRforVS_clickonce_13_0_22(CRRuntime_32bit_13_0_22.msi)

还有4台装有完整版Crystal Reports 2016的PC。 即使在这些PC上,从应用程序运行时,报表查看器的输出也为空白。

我也尝试过针对AnyCPU和Prefer 32-bit,但这没有任何区别。 我已经编译,重新编译和重新安装了几乎所有驱动程序组合,并且绝对没有运气来预览报告。

感谢您提供的任何帮助!

卡罗琳

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

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


我正在64位上进行开发,并部署到32和64位计算机上。 该应用程序是针对x86编译的。 这些报告是使用与MySQL数据库的ODBC连接创建的,但是代码会根据存储的连接字符串动态更改连接详细信息,该字符串与用于加载应用程序数据集的连接字符串相同。

报表是未嵌入的,并且在CR 2016和CRXI中以及在开发PC上从已编译的应用程序运行时都可以正常运行。 但是,在客户端PC上,查看器中的输出为空白。 没有错误。 多个报告具有参数提示,并出现提示,显示"请稍候……"消息,但随后只有空白查看器。

开发PC安装:

Visual Studio 2015

Microsoft .NET Framework 4.7

mysql-connector-odbc-5.3.9-win32.msi(用于创建报告)

mysql-connector-net-6.9.8.msi(x86,32位)

mysql-for-visualstudio-1.2.6.msi(x86,32位)

CRforVS_13_0_22.exe

参考均为.NET Framework 4.0 \ Common \ SAP BusinessObjects Enterprise XI 4.0 \ win32_x86 \ dotnet \(CrystalDecisions.CrystalReports)的C:\ Program Files(x86)\ SAP BusinessObjects \ Crystal Reports中的所有版本13.0.35.00.0。 引擎,CrystalDecisions.ReportSource,CrystalDecisions.Shared,CrystalDecisions.Windows.Forms)

目标PC安装:

Microsoft .NET Framework 4.7

CRforVS_clickonce_13_0_22(CRRuntime_32bit_13_0_22.msi)

还有4台装有完整版Crystal Reports 2016的PC。 即使在这些PC上,从应用程序运行时,报表查看器的输出也为空白。

我也尝试过针对AnyCPU和Prefer 32-bit,但这没有任何区别。 我已经编译,重新编译和重新安装了几乎所有驱动程序组合,并且绝对没有运气来预览报告。

感谢您提供的任何帮助!

卡罗琳

付费偷看设置
发送
4条回答
宇峰科技
1楼 · 2020-09-16 13:28.采纳回答

太好了,因此它不是查看器,而是丢失的数据...。CR运行时用于您的应用程序而不是操作系统,因此如果将其设置为x86,则只需安装x86 MSI。

启用CRLogger并查看它是否正在读取数据:

将它们添加到您的系统环境变量中:

LOGGING_DIR = c:\ logging
LOGGING_ENABLED_ASSERT = 1
LOGGING_ENABLED_RUNTIME = 100

运行您的应用程序并查看它创建的日志文件,您将看到它正在登录,然后开始读取数据,或者应该读取。 如果没有,请仔细查看日志,请耐心等待,它将对性能产生巨大影响。

您可以使用数据库而不是使用数据集来直接使用它吗?

也尝试OLE DB和ODBC。

Don

暮风yp
2楼-- · 2020-09-16 13:32

Hi Don,

我早些时候不在电脑上,直到现在都无法按照您的建议进行测试。 我在Visual Studio中从设计器创建了一个新报告:添加新项->晶体报告->作为空白报告。 在详细信息部分,我插入了一个文本对象,文本为" Hello Don!"。 并保存了报告。 然后,我将报告复制到网络驱动器上的"报告"文件夹中,并将该报告的记录添加到应用程序的报告界面,该界面是可用报告的树状视图列表。 我从其中一台客户端PC启动了该应用程序,从树视图列表中选择并预览了该报告。 查看器正确显示带有文本" Hello Don!"的报告。 :-)已经很晚了,我要去过夜了……谢谢您对下一步的建议。

Caroline

奄奄一息的小鱼
3楼-- · 2020-09-16 13:23

嗨,Caroline,

如果您使用带有已保存数据的报告并进行预览会怎样?

在CR Designer中打开报告并进行预览,然后使用"已保存的数据"保存报告,或导出为RPT格式。

现在在您的应用中打开该报告并进行预览,行得通吗?

如果现在确实点击了查看器中的"刷新"按钮,它会提示您输入登录信息。

如果服务器行为灰色,则无法对其进行编辑,这意味着CR SDK无法找到数据库客户端。

如果它没有变灰并且您填写了用户和密码,您是否会得到数据?

您可以使用ProcessMonitor并验证是否正在加载正确版本的SDK,您可能已加载了旧的Viewer 13.0.2000.0。

Bunny_CDM
4楼-- · 2020-09-16 13:27

感谢唐,

我尝试了3种保存数据的报告。 预览报告确实会显示数据,但是,单击"刷新"按钮只会显示空白页面,而不会提示登录。 在32位和62位计算机上,结果相同。

我在ProcessMonitor中看到了版本为13.0.22.2668的各种dll,并在客户端PC上的SAP安装路径中看到了已验证的版本#。

我之前没有提到在开发PC上还安装了CRXI,在64位PC上安装了运行时。 但是,在我安装应用程序和SP 23运行时之前,这32位PC是干净的。 我不认为开发PC上的CRXI会引起问题,但这可能吗?

卡罗琳

一周热门 更多>