twzheng's cppblog

『站在风口浪尖紧握住鼠标旋转!』 http://www.cnblogs.com/twzheng

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  136 随笔 :: 78 文章 :: 353 评论 :: 0 Trackbacks
部署水晶报表时的常见问题及解决
 
摘自CSDN 

  ------------------------------------------------    
  目录:    
  1、载入报表时报错    
  2、部署到     Windows     98     /     ME     时,出错:"Load     Report     Failed"        
  3、在Win98的客户端运行提示"该字段名未知"    
  4、分发到客户机时“查询引擎出错”    
  5、load     crpe32.dll     failed    
  6、在     ASP.NET     程序中加载报表时,出错:"Load     Report     Failed"        
  7、部署     .NET     9.1     程序到     Windows     98     时,出错:"Load     Report     Failed"        
  ------------------------------------------------    
  1、载入报表时报错    
  问题出在报表发布上。    
  发布使用水晶报表的项目需要包含三种组件:报表(*.rpt)、模块(*.msm)、运行库(*.msm),这些模块文件是在     C:\Program     Files\Common     Files\Merge     Modules\     目录里面。    
  (1)报表(*.rpt)    
  用户编程时创建的水晶报表文件。    
  (2)模块(*.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     注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过    
  (3)运行库(*.msm)    
  如果报表文件使用了     ADO.NET     的     dataset     数据集对象,那么     VC_CRT.msm     和     VC_STL.msm     模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module     Retargetable     Folder"项必须修改成为系统目录    
  在VS.NET安装工程中,系统检测出来的依赖项只有     dotNETFXRedist_x86_chs.msm     和     Managed.msm这两个模块,其他的模块我们需要手动加入。    
  (1)在解决方案资源管理器里,右键单击安装项目选择"添加"-〉"合并模块(M)"    
  (2)在"添加模块"对话窗体,选择     Managed_chs.msm     、Database_Access,     Database_Access_chs,     regwiz、VC_CRT.msm     和     VC_STL.msm     模块    
  (3)重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。    
  -------------------------    
  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。    
  (1)在客户计算机上装     IE6.0。    
  (2)在客户计算机上,手动复制和注册     ATL.dll,然后运行用于     Crystal     Reports     分发的安装包。    
  (2)将     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的运行库:VC_CRT.msm、VC_STL.msm    
  -------------------------    
  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"     文件夹。  
   
   
  Crystal     Support     之最高阅览量文章:怎样部署使用     Crystal     Reports     和     VS.NET     的程序?(翻译:海波.NET)    
   
  大纲    
   
  怎样部署使用     Crystal     Reports     和     VS.NET     的程序?    
   
  ====================        
  注意:        
   
  在部署使用     Crystal     Reports     和     Visual     Studio     .NET     的程序之前,你必须确认下列信息:    
   
  与     Visual     Studio     .NET     一起使用的     Crystal     Reports     版本。可能的版本为:    
   
  -     Crystal     Reports     for     Visual     Studio     .NET     2002        
  -     Crystal     Reports     for     Visual     Studio     .NET     2003        
  -     Crystal     Reports     9        
  -     Crystal     Reports     9.2        
   
  Crystal     Reports     管理组件的“程序集版本”。    
   
  要检查     Crystal     Reports     管理组件的“程序集版本”,查看     Visual     Studio     .NET     里的     “项目”     >     “引用”。    
  Crystal     Reports     管理组件包括:    
   
  -     CrystalDecisions.CrystalReports.Engine        
  -     CrystalDecisions.Shared        
  -     CrystalDecisions.Reportsource        
  -     CrystalDecisions.Web        
  -     CrystalDecisions.Windows.Forms.        
   
  所有     Crystal     Reports     管理组件的“程序集版本”必须相同。    
   
  ====================    
  解决方案:    
   
  要部署使用     Crystal     Reports     for     Visual     Studio     .NET     2002     的程序    
  ------------------------------------------------        
   
  1.     确保     Crystal     Reports     管理组件的“程序集版本”为     9.1.3300。    
   
  2.     下载完整的     crnet     部署指南:    
  http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf    
   
   
  要部署使用     Crystal     Reports     for     Visual     Studio     .NET     2003     的程序    
  ------------------------------------------------        
   
  1.     确保     Crystal     Reports     管理组件的“程序集版本”为     9.1.5000.0。    
   
  2.     下载完整的     crnet     部署指南:    
  http://support.crystaldecisions.com/communityCS/TechnicalPapers/crnet_deployment.pdf.asp?recDnlReq=Record&dnlPath=crnet_deployment.pdf    
   
  3.     使用下列合并模块替换'crnet_deployment.pdf'里的合并模块:    
   
  Crystal_Database_Access2003.msm        
  Crystal_Database_Access2003_enu.msm        
  Crystal_Managed2003.msm        
  Crystal_regwiz2003.msm        
  VC_User_CRT71_RTL_X86_---.msm     (被基于     ADO.NET     的报表使用)        
  VC_User_STL71_RTL_X86_---.msm     (被基于     ADO.NET     的报表使用)  
posted on 2007-12-15 09:43 谭文政 阅读(2554) 评论(0)  编辑 收藏 引用 所属分类: Crystal Report

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理