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

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

(1) 载入报表时报错
问题出在报表发布上。发布使用水晶报表的项目需要包含三种组件:报表( *.rpt )、模块( *.msm )、运行库( *.msm ),这些模块文件是在 C:\Program Files\Common Files\Merge Modules\ 目录里面。
A.
报表( *.rpt ):用户编程时创建的水晶报表文件。
B.
模块( *.msm ):
Managed.msm
该模块包含了 CR for VS .NET 的管理模块,如 CrystalDecisions CrystalReports.Engine.DLL CrystalDecisions.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.msm dotnetcrystalreports.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\ 文件夹。

你可能感兴趣的:(职场,休闲)