在CSDN中看了以前关于水晶报表打包问题的解决办法,方法都用过了就是解决不了呀,我的测试环境视SERVER2000,.NET环境都搭配了,模块也整合了,序列号也加入了,在安全里ASPNET权限也给了,总是出现“报表加载失败”,哪位高手告诉我怎么解决,小弟会很感谢的!!!

解决方案 »

  1.   

    我不是报表高手。
    水晶报表部署时总是容易出现意外的问题,所以我从不用Crystal Report,我用ActiveReport for .Net。这样部署报表变得容易多了!
      

  2.   

    我这里有水晶报表的打包程序.你如果要的话发EMAIL给我吧[email protected]
      

  3.   

    晕  模块也加了  序列号也写了  总是出现“报表加载失败”的字样,我用的是VS2003,Crystal Reports的版本是9.1.5000.0,引用里也加了相关数据,唉,总是出现那样的错误!
      

  4.   


    八、关于部署
    要部署应用程序,您需要在生成解决方案之前创建一个安装项目,并且向应用程序中添加必要的合并模块。 打开 Web 或 Web 服务应用程序。 
    在解决方案资源管理器中,右击 Web 或 Web 服务应用程序解决方案,指向“添加”,然后单击“新建项目”。 
    在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“Web 安装项目”。单击“确定”按钮。 
    在解决方案资源管理器中,右击“Web 安装项目”,指向“添加”,然后单击“项目输出”。 
    在“添加项目输出组”对话框中,选择“主输出”和“内容文件”,然后单击“确定”。 
    将主输出添加到项目中后,将自动添加所有依赖项,如 Crystal_Managed2003.msm 或 dotnetfxredist_x86.msm。 在解决方案资源管理器中,右击“Web 安装项目”,指向“添加”,然后单击“合并模块”。 
    在“添加模块”对话框中,选择下列要添加到安装项目的合并模块,然后单击“打开”: 
    Crystal_Database_Access2003.msm 
    Crystal_Database_Access2003_chs.msm 
    Crystal_regwiz2003.msm 
    有关这些合并模块的说明,请参见 Crystal Reports 合并模块。 在解决方案资源管理器中,右击 Crystal_regwiz2003.msm 文件,然后选择“属性”。 
    在“属性”窗口中,展开 MergeModuleProperties,然后在“许可证密钥”属性框中输入一个有效的许可证密钥。 
    注意 每当部署 Crystal Reports for Visual Studio .NET 应用程序时,必须提供许可证密钥。 
    注册 Crystal Reports for Visual Studio .NET 后,将提供给您一个许可证密钥。可在“关于”对话框中找到此许可证密钥。从“帮助”菜单中,选择“关于 Microsoft 开发环境”。“已安装的产品”字段中列出了密钥号码。 从“生成”菜单中,选择“生成解决方案”以生成应用程序。 
    当部署到客户机或服务器时,应始终确保该计算机安装了 .NET Framework
    九、经常碰到的一些问题及解决方法:http://blogs.aspadvice.com/crystal/
      

  5.   

    出现“水晶报表加载失败”,并不一定就是部署时候的问题,相反最有可能的原因是你的rpt文件里的字段和数据库中的字段不对应,你可以从这方面检查一下!!
      

  6.   

    部署水晶报表时的常见问题及解决
    ------------------------------------------------ 
    目录: 
    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  的报表使用)
      

  7.   

    如何部署包含水晶报表的程序(VS.NET 2002)
    ------------------------------------------------
    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
    注册信息模块,非常重要,必需在这个模块输入水晶报表的注册序列号,如果不填,编译的时候就无法通过。
    KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的 Crystal版本。
    (3)运行库(*.msm)
    如果报表文件使用了 ADO.NET 的 dataset 数据集对象,那么 VC_CRT.msm 和 VC_STL.msm 模块也必须包含在安装工程中。而且这两个模块的文件安装属性的"Module Retargetable Folder"项必须修改成为系统目录
    在VS.NET安装工程中,系统检测出来的依赖项只有 dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。
    -------------------------
    2、具体操作步骤:
    (1)新建“安装和部署项目”-->“安装向导”
    (2)选择项目类型(这里选“创建用于windows应用程序的安装程序”)-->下一步
    (3)选择要包含的文件:添加你的程序文件和 C:\Program Files\Common Files\Merge Modules 下的 managed.msm、managed_chs.msm、database_access.msm、database_access_chs.msm、regwiz.msm、VC_CRT.msm、VC_STL.msm。-->完成
    (4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
    (5)生成解决方案(或直接按Ctrl+Shift+B)图示介绍:http://www.yesky.com/20030327/1659638.shtml
      

  8.   

    hawk234(鹰)大哥:
        谢谢你给的资料,可是这些资料我之前都这样用了,海波的专栏也看了,问题依旧,还是出现“在  ASP.NET  程序中加载报表时,出错:"Load  Report  Failed"  “这样的问题,ASPNET权限我在服务器的安装后文件夹里的”安全“一项上也给了,还是没能解决,这个问题困扰了好久!
      

  9.   

    各位高手我在把我的问题说清楚些,在这之前我已经按照”hawk234(鹰)大哥“的和海波专栏的方法都用了,问题依然是”在  ASP.NET  程序中加载报表时,出错:"Load  Report  Failed"“,报表的控件上出现的问题是”CrystalReportViewer - ReportPur 
    Use ReportSource or DataBindings property to specify a report source. “,但在我的开发环境下却能正常现实,打包后问题就出现了,我开发环境的操作系统是windows2003server,水晶报表用的是”VS2003下的“程序集版本”为  9.1.5000.0“,看我是不是那里没有考虑到,请麻烦给看看!谢谢!