水晶报表技术(5)——部署水晶报表时的常见问题及解决方案

简介:
部署水晶报表时的常见问题及解决方案

(1) 载入报表时报错
问题出在报表发布上。发布使用水晶报表的项目需要包含三种组件:报表(*.rpt)、模块(*.msm)、运行库(*.msm),这些模块文件是在 C:\Program Files\Common Files\Merge Modules\ 目录里面。
A.
报表(*.rpt):用户编程时创建的水晶报表文件。
B.
模块(*.msm):
Managed.msm 
该模块包含了CR for VS .NET 的管理模块,如 CrystalDecisionsCrystalReports.Engine.DLLCrystalDecisions.Web.DLL,   CrystalDecisions.Windows.Forms.DLL……
Managed_chs.msm 
是该模块的中文版语言支持。

Database_Access.msm 
该模块包含了数据库的驱动、与不同数据库的联结、报表导出为 RTF  HTML 格式的文档和图表组件。  
Database_Access_chs.msm 
是此模块的中文版语言支持。

Regwiz.msm 
注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过
C:
运行库(*.msm):
如果报表文件使用了 ADO.NET  dataset 数据集对象,那么 VC_CRT.msm  VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的\Module Retargetable Folder\项必须修改成为系统目录。在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm  Managed.msm这两个模块,其他的模块我们需要手动加入。

(2)
部署到 Windows 98 / ME 时,出错: \Load Report Failed\ 
这是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。要解决这个问题,可以在客户计算机上手动注册 CRQE.dll,使用下面的命令:

regsvr32 \C:\program files\common files\Crystal Decisions\1.0\bin\CRQE.dll\
如果 CRQE.dll 没有成功注册,并且问题继续存在,在客户计算机上检查 ATL.dll 的版本。ATL.dll for Windows 98/ME 正确的版本是 3.0.8449。通过使用下面三种方法中的任意一种方法,可以找到并注册正确版本的 ATL.dll
A.
在客户计算机上装 IE6.0
B.
在客户计算机上,手动复制和注册 ATL.dll,然后运行用于 Crystal Reports 分发的安装包。
C.
 ATL.msm 合并模块添加到安装工程,ATL.msm  Visual Studio installer 1.1 的一部分,可以去微软的网站http://msdn.microsoft.com/vstudio/downloads/tools/vsi11/download.aspx下载, 添加办法同上。

(3)
Win98的客户端运行提示\该字段名未知 \
报表在Win2000的客户端一切正常,在Win98的客户端运行提示\该字段名未知\?是因为报表使用到的 sql server 数据库中的字段名为中文的缘故,将其字段名改名为英文字段名。


(4)
分发到客户机时查询引擎出错
安装项目要包含下列合并模块:VC_CRT.msm ,VC_STL.msm ;此外,确保 Msvcr70.dll  Msvcp70.dll 在客户计算机的系统目录里。


(5)load crpe32.dll failed
下面是cr9net_deployment.pdf说明中的部署Crystal Report 9的步骤:
打开 Windows 应用程序。 在解决方案资源管理器中,右击 Windows 应用程序解决方案,指向添加,然后单击新建项目。在添加新项目对话框中,选择项目类型窗格中的安装和部署项目,然后选择模板窗格中的安装项目。单击确定按钮。  
在解决方案资源管理中,右击安装项目,指向添加,然后单击项目输出 添加项目输出组中,选择主输出,然后单击确定 将自动添加所有依赖项,如 dotnetfxredist_x86_enu.msmdotnetcrystalreports.msm。需要将dotnetcrystalreports.msm排除在项目之外,在解决方案资源管理器中右击这个模块的右键,选择排除 在解决方案资源管理器中,右击安装项目,指向添加,然后单击合并模块 添加模块对话框中,选择下列要添加到安装项目的合并模块,然后单击打开
 
reportengine.msm, crnetruntime.msm, license.msm
mapping.msm 
(可选,当在报表中使用了geographic maps时)
 
VC_CRT.msm
VC_STL.msm 如果您部署的 Windows 应用程序使用 ADO.NET 数据集,则还需要包括 VC_CRT  VC_STL 合并模块)

在解决方案资源管理器中,右击 license.msm 文件,然后选择属性 属性窗口中,展开 MergeModuleProperties,然后在许可证密钥属性框中输入一个有效的许可证密钥。 注意 每当部署 Crystal Reports 应用程序时,必须提供许可证密钥。从生成菜单中,选择生成解决方案以生成应用程序。

(6)
 ASP.NET 程序中加载报表时,出错: \Load Report Failed\ 
确保 ASPNET 本地用户对报表所在的文件夹有完全控制的权限。


(7)
部署 .NET 9.1 程序到 Windows 98 时,出错: \Load Report Failed\ 
是因为查询引擎 DLL(CRQE.dll)在客户计算机上没有正确注册。要解决这个问题,从开发计算机复制 Dbghelp.dll 到客户计算机的\C:Windows\system32\ 文件夹。




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/203444,如需转载请自行联系原作者

目录
相关文章
|
算法 架构师 Java
【计算机专业】岗位方向细分与发展提升建议
【计算机专业】岗位方向细分与发展提升建议
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
1989 2
|
Oracle 关系型数据库 数据库
docker下安装oracle11g(一次安装成功)
docker下安装oracle11g(一次安装成功)
1469 0
|
存储 架构师 Java
内存溢出原因与解决方案(4大主流方案详解)
本文详解内存溢出(OOM)的原因及解决方案。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
内存溢出原因与解决方案(4大主流方案详解)
|
11月前
|
编解码 监控 安全
远程软件怎么选?ToDesk、向日葵、Parsecd、TeamViewer评测结果公布
在全球化和数字化转型加速的背景下,选择一款高效稳定的远程控制软件成为许多个人用户和企业的核心需求。本文将对比四款热门远程控制软件——向日葵、ToDesk、Parsecd和TeamViewer,从连接速度、功能丰富度、安全性和易用性等多个维度进行评测。
2422 6
|
前端开发 数据可视化 Java
SpringBoot的4中常见入参形式错误解析
在使用SpringBoot进行前后端接口对接时,常遇到如500、400等请求错误,本文总结了四个常见的复杂请求类型及其解决方案,包括实体嵌套List提交、普通文件上传、List提交及数组Array提交,详细展示了正确的前端与后端代码实现,帮助开发者避免常见错误,提高开发效率。
238 0
SpringBoot的4中常见入参形式错误解析
|
缓存 前端开发 安全
开发者必读:GET和POST请求的终极对比
大家好,我是小米,今天我们来聊聊HTTP协议中的GET和POST请求。它们在数据传输方式、安全性和应用场景上有不同特点。本文将详细解析它们的区别和特点,帮助你更好地理解和运用这两种请求方式。让我们一起学习吧!
723 4
|
存储 关系型数据库 MySQL
MySQL数据库进阶实战:解锁性能飙升秘籍,从菜鸟到高手的华丽蜕变,让数据操作如行云流水!
【8月更文挑战第5天】MySQL是最流行的开源关系型数据库之一,在Web开发与数据分析等领域广泛应用。本文通过实战代码示例,深入探讨MySQL进阶技能:包括索引优化以提升查询性能;利用JOIN与子查询处理多表关联数据;通过事务处理确保数据一致性;使用存储过程与函数封装复杂逻辑以便重用;设置触发器自动执行特定任务以维护数据完整性。掌握这些技能能显著提高数据处理效率与系统性能。
387 5
|
SQL 存储 缓存
SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值
SQL Server 内存占用较高 - 清除缓存 或 设置内存最大占用值
1013 0