怎么crystal report不能打印?急!!!!!

bryanzk 2003-10-15 12:56:38
我用vs.net 2003开发了一套程序,其中包含crystal report,但是为什么在其他没有装.net开发环境的机器上打印不了?给那个机器装了.net framework 也不行。哪位兄弟给帮帮忙啊??急!!!!!
...全文
137 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
herofyf 2003-10-15
  • 打赏
  • 举报
回复
我想说的您应制作分发模块,将Crystal Report报表中相应库加进来!
haibodotnet 2003-10-15
  • 打赏
  • 举报
回复
VS.NET下水晶报表分发时的问题及解决!!!!!!!!!!
一、载入报表时报错
  千辛万苦,总算作完了程序,报表在开发机器上测试一切正常,做安装项目,生成后兴冲冲的拿到客户机上去试验,晕,载入报表时却报错(如图1),怎么会???仔细检查了程序代码,实在没有任何错误,看来问题出在报表发布上了。
  经过一番苦苦寻觅,总算找到了问题所在。原来VS.NET环境下发布项目时水晶报表需要包含以下三种组件:
  报表(*.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、重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。
二、系统注册
  报表在部分Win98的客户端可以载入,在部分Win98的客户端载入报表时却提示"Load Report Failed"(如图6),可恶,居然还出错,怎么回事?  原来,这是因为水晶报表运行时所需的CRQE.dll在客户端的系统注册不正确,而原因又是ATL.dll 的版本不对(Windows 98/ME下的正确版本号应为3.0.8449)。解决办法有两条:
  1、 在客户端安装IE6.0,难怪有的客户端运行正常。
  2、 将ATL.msm模块添加到安装工程,ATL.msm是Visual Studio installer 1.1的一部分,可以去微软的网站http://msdn.microsoft.com/vstudio/downloads/vsi/ 免费下载, 添加办法同前。
三、语言的支持
  报表在Win2000的客户端一切正常,在Win98的客户端运行提示"该字段名未知"(如图7),不会要客户端都装2000吧,要求也太高了?  仔细分析,原来是报表使用到的sql server数据库中的字段名为中文的缘故,也许是.net的缘故,程序对中文字段名支持得不错,没想到报表这里还是过不了关,将其字段名改名为英文字段名,再测试就一切ok了。
  好了,顺利过关!希望本文对您处理VS.NET下水晶报表发布问题时能有所帮助。

详见http://www.yesky.com/20030327/1659638.shtml
haibodotnet 2003-10-15
  • 打赏
  • 举报
回复
Crystal Report 部署

原理:
用 Microsoft Installer (MSI)在您的安装包中包括的合并模块 (MSM) 分发。
MSI 合并模块(MSM)可在“C:\Program Files\Common Files\Merge Modules”目录中找到。
合并模块(MSM)分为三类:托管组件、数据库访问和密钥号码。
托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间。对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。KeyCode MSM 处理 Crystal Decisions 密钥号码的安装,这样您的用户在查看报表时,就不会被要求注册他们的 Crystal版本。

具体操作步骤:
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。-->完成

具体功能如下:
managed.msm、managed_chs.msm、(托管组件 MSM 处理所有托管组件的分发,其中包括 Windows 窗体查看器、Web 窗体查看器和所有 Crystal Decisions 命名空间)
database_access.msm、database_access_chs.msm、(对于使报表运行所需的所有其他文件,由数据库访问 MSM 处理其分发。其中包括数据库、导出和图表驱动程序。)
regwiz.msm、(KeyCode MSM 处理 Crystal Decisions 密钥号码的安装)
VC_CRT.msm、VC_STL.msm(这个在msdn上绝对没提起,是vc的运行库,估计是Crystal Report或涉及到的某些程序是用vc写的,所以需要它!)

4)打开解决方案-->右键点击regwiz.msm的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(这个是你生成Crystal Report是用到的注册号的密码!)
5)生成解决方案(或直接按Ctrl+Shift+B)

用2002生成的绝对没有问题,我也试过了,但时2003是行不通的,从你的方法看来,你说的还是2002,因为在.net 2003中,regwiz.msm已经改成了Crystal_regwiz2003.msm。其它也都加上了Crystal...2003的字样,我不知道是注册码变了还是什么,但是用AAP5GKS0000GDE100DS在开发环境中注册.net 2003的crystal是可以的。请你在.net 2003的环境中试一试。
haibodotnet 2003-10-15
  • 打赏
  • 举报
回复
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 的报表使用)


要部署使用 Crystal Reports 9 的程序(仅限于 Visual Studio 2002)
------------------------------------------------

1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9466.x。

通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的、任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的相应程序集。

要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 管理组件程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。

选择“版本”选项卡,并检查“文件版本”。

2.下载完整的 cr9net 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf

3. 下载 Crystal Reports 9 合并模块。这些合并模块可能组成一个基于 Microsoft Installer (MSI) 安装包,以包含相应的运行时文件。
http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netmergemodules.zip.asp?recDnlReq=Record&dnlPath=cr9netmergemodules.zip

4. 如果你要部署到一个 Web 服务器,你可以安装预编译 MSI installer 包,已提供下载,用作一次性部署。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。下载预编译 MSI installer 包:
http://support.crystaldecisions.com/communityCS/FilesAndUpdates/cr9netredist.zip.asp?recDnlReq=Record&dnlPath=cr9netredist.zip


要部署使用 Crystal Reports 9.2 的程序(与 Visual Studio 2002 和 2003)
------------------------------------------------

1. 确保 Crystal Reports 管理组件的“文件版本”为 9.2.9500.x。

通过查看"\Program Files\Common Files\Crystal Decisions\2.0\Managed\" 文件夹里的,任何管理组件 CrystalDecisions.xxx.dll 的属性,获得“文件版本”;或者通过查看全局访问缓存 (\winnt\assembly)里的程序集。

要查看全局访问缓存里的“文件版本”,找到任何一个“程序集版本”为 9.2.3300.0 的 Crystal Decisions 程序集(例如 CrystalDecisions.CrystalReports.Engine),在文件上右击并选择“属性”。

选择“版本”选项卡,并检查“文件版本”。

2.下载完整的 cr9net 部署指南:
http://support.crystaldecisions.com/communityCS/TechnicalPapers/cr9net_deployment.pdf.asp?recDnlReq=Record&dnlPath=cr9net_deployment.pdf

3. 使用合并模块'dotnetruntime.msm'替换'cr9net_deployment.pdf'里的'crnetruntime.msm'

你可以在 Crystal Reports 9.2 光盘的 '\redist\dotnet\msm' 文件夹里找到所需的合并模块。

4. 如果你要部署到一个 Web 服务器,你可以安装光盘里的、用作一次性部署的预编译 MSI installer 包。这个分发包安装 .NET 程序需要的所有 Crystal 运行时文件。预编译 installer 包在光盘的 "\redist\netsvr.msi" 文件夹里。

====================
注意:

当与 Visual Studio 2003 里的 ADO.NET 一起使用 Crystal Reports 9.2 时,进行下列合并模块的替换:

Vc_crt.msm - 被 VC_User_CRT71_RTL_X86_--- .msm 替换
Vc_stl.msm - 被 VC_User_STL71_RTL_X86_-- -.msm 替换

你可以 'C:\Program Files\Common Files\Merge Modules' 文件夹下找到替换的合并模块。
====================

其他资源
-------------------

要查找下面的部署白皮书,访问:

http://support.crystaldecisions.com/search

Crystal Reports 9 应用程序部署白皮书 - cr9net_deployment.pdf

Crystal Reports 9 for Visual Studio .NET 应用程序部署白皮书 - crnet_deployment.pdf
课程介绍:这是一门Java语言入门课程,针对的是Java初学者或者从事其他计算机语言开发但希望转到Java开发工作上来的软件工程师,是所有想入java之门的朋友首先要学的第一门课,也是整个Java开发的核心和基础,也就是大家常说的JAVA SE版本中涵盖的知识;本门课程将采用 windows平台下的intellij IDEA开发环境作为主要的讲解平台,对于熟悉其他Java开发环境的学友们,当然也可以选择自己熟悉的平台;本门课程希望达到的目标是给大家打语言基础,但不希望一上来给大家太重的学习负担,分阶段,逐步的学习,是更好的学习方式,所以在本门课程中,我们将只涉及到基础的语言,以及面向对象程序设计的一些基础概念,更多的知识和概念我们将放在进阶课程中讲解,这一点望大家知晓;在Java诞生的不到30年时间里,Java开发人员的市场需求已经增长到了一个非常惊人的程度,至少目前来看,没有任何一门开发技术能够和java比,从待遇方面,高级Java开发人员的薪资也是相当的高,大概只有c++能够和Java掰一掰手腕,其他的开发技术的薪资待遇,很难与Java比较。很多想学习java的同学,会有一种困惑,感觉Java知识特别零散,除基本的Java语言外,各种概念、各种框架层出不穷,那我们怎么入学习之门,学到什么程度,能找到什么样的工作,这些问题就会困扰着我们;针对这种情况,我将不断推出一系列的Java课程,通过这一系列的课程,为大家搭建一条比较完整的Java学习链条,我并不准备回答大家“学到什么程度,能找到什么样的工作这种问题“,因为当你学到一定的程度之后,你自然就会找到答案,但有一点可以确定:仅仅学习完本门课程还不够,还需要继续深入学习下去!讲解中所安装的是jdk版本是jdk 12版本,但这并不意味着我们要把这个版本中的所有知识讲解的面面俱到,把最有用、最实用,最能帮助大家加薪的知识挑选出来讲解是老师的重要责任;讲师介绍:王健伟老师,网名:狂想(KuangXiang),1995年毕业于哈尔滨工程大学计算机及应用专业,20多年软件开发经验,经历过数十个软件项目开发包括网络通信、网络安全、网络游戏等领域,多年的摸爬滚打使自身具备了极其深厚的开发实力和实战经验。深圳知名网络安全公司安络科技(www.cnns.net)有限公司创始人之一、中国首套网络安全在线扫描评估系统项目负责人,电子工业出版社2003年《Crystal Reports水晶报表设计与开发实务》书籍作者,全球同服独立游戏《冒险之路》制作人。在教学上,老师自带讲课天赋,善于用最清晰、最通俗的语言把复杂问题简单化,让你听了就能懂,当节学完基本就能掌握,老师能够为你节省大量的学习时间并能达到极好的教学效果!

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧