VS2008完整水晶报表发布部署总结
- 格式:doc
- 大小:203.00 KB
- 文档页数:9
水晶报表使用总结手头上的一个项目,终显雏形,其中遇到一些问题,经过多番努力,终于得以解决,主要是水晶报表方面的。
因为是第一次用,总结的同时,也给后来可能用到水晶报表的人一些微弱的指引,所以如果总结的不好的话,请大家指正。
关于水晶报表的一些基本概念,如push和pull模式等如果想了解的话,自己百度搜索下,或是找本书看就可以了。
这里我主要是根据实际应用到的要求,来进行带图的详细介绍,希望对新手有所帮助。
使用的是VS2008,在页面中添加命名空间的引用,主要有以下几个:using CrystalDecisions.CrystalReports.Engine;using CrystalDecisions.ReportSource;using CrystalDecisions.Shared;下面先来看下,利用水晶报表做出来的效果图,只是实现功能,界面未经过美工处理,有点难看,多多包涵.图一图二由于是统计报表,所以在应用中需要传递参数值,在实际应用中,我是利用了存储过程来实现的。
Create proc PrintCJ@cjbh varchar(50)AsSELECT Cjdy_zb.DWMC, Cjdy_zb.ND,Cjdy_zb.JD, Cjdy_zb.QSDD,Cjdy_zb.JFJZRQ, Cjdy_zb.YJQJS, Cjdy_zb.YJQJZ, Cjdy_zb.SKDW,Cjdy_fb.QSSY, Cjdy_fb.YT, Cjdy_fb.DYGY,Cjdy_fb.DEGY, Cjdy_fb.DSGY, Cjdy_fb.BCHJ FROM Cjdy_fb INNER JOIN Cjdy_zb ON Cjdy_fb.CJBH = Cjdy_zb.CJBH and Cjdy_zb.CJBH= @cjbh;GO下面截图截图一步一步来操作实现:(1)、在项目中添加一个新文件夹,如Report文件夹,然后在该目录下右键添加Crystal报表。
VS2010中动态创建渴晶报表的心得体会指导老师 吕中华(Y2学术部)作 者 向 根(NET4短训班)半个月之前,老大在班上组织了一个技术委员会帏组,帏组中的每一位成员都被赋予一个技术点,要湂自身在课下努力钻研后,于特定的时间在教室里利用投影设备为班上其他同学做出详细的讲解。
这些技术点,都是我们在B/S项目中所需要用的重要知识点,同时也是现今在工作当中运用的比较广滛的。
与其他成员分到的Lucene检索技术、Log4Net日志记录技术、iTextSharp导出PDF技术、SharpZibLib压缩解压缩不同,我被分到的技术点是:渴晶报表在.NET平台上的使用。
要湂实现的功能是:1.下载安装Crystal Report Designer;2.报表的绘制;3.与ASP集成,动态实现数据库的查询并在渴晶报表中进行显示。
初识渴晶报表之前只是在书上见到过渴晶报表这个词湇,它是内置于VS开发环境中的一种报表设计工具,可帮助程序员在.NET平台上创建高度复杂且专业级的互动式报表。
它协同数据库一起工作,可以帮助用户分析和解释重要的信息,使用渴晶报表既可以创建简单的报表,也可以创建复杂的、专业的报表,它可以从任何数据源生成所需要的报表。
设计好报表后,可以帆其通过多种形式发布,例如word、excel或者web网页等,高级的web渴晶报表还允许工作组中的其他成员在他们自己的web浏览器中查看或者共享报表。
使用Crystal Report还可以在基于GUI设计器中创建复杂而专业的报表,然后帆其链接到几乎所有数据源以及代理数据,例如结果集。
使用GUI中附带的向导,可以方便地进行格式化设置、分组、图标制作和报表。
安装渴晶报表在VS2005和2008的版本中,渴晶报表都是集成在这两个IDE中,在VS2010下,渴晶报表已经不再是VS中的一部分,帽管微软的VS2010中也有自带的报表控件Report View,但是相比渴晶报表中CrystalReportView、CrystalReportDocument,应用范围上还是帏了许多。
水晶报表的使用经验和资料总结资料:中使用水晶报表(上) 2002-9-6 DotNet吧[HTML]在我们对中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心。
一周以后,在阅读了大量的“HOWTO”文档之后,我们成功地将一些简单的报告加入到了我们的程序中,并得到了一些小决窍。
这篇文章教你如何在.Net Web应用中使用水晶报表,也可以让你在学习过程中少走一些弯路。
为了得到最好的效果,读者最好需要有一些基础的访问数据库的知识以及使用的开发经验。
简介水晶报表可以由很多的方法得到,其中一个就是使用来创建,它提供了非常丰富模型以使我们能够在运行时操作属性和方法。
如果你正在使用开发.Net程序,那么你就不需要再安装其它软件了,因为他已经内嵌在中了。
优点:水晶报表有下面一些主要的优点:快速的报表开发能够导出成为复杂的交互性图表可以与其它控件一起在WebForm中使用能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式结构:一些组件组成了水晶报表的二层结构,需要的Web应用有:客户端 :客户端仅需要一个可以访问嵌入aspx页面报表的游览器就可以了服务器 :- 水晶报表引擎(Crystal Report Engine (CREngine.dll))通过它可以完成一些任务,如在报告文件中合并数据,转换报告为其它格式等。
也正是因为报告引擎的作用,才可以将中的水晶报表转换成为普通HTML格式- 水晶报表设计器(Crystal Report Designer (CRDesigner.dll))水晶报表就是在设计器中创建的,在设计器中你可以设计标题,插入数据,公式,图表,子报表等。
- .rpt报表文件执行报表中的第一步就是在水晶报表设计器接口创建此报表,在默认安装中微软已经提供了一些现成的.rpt例子。
- Data Source.rpt文件取得数据库的方法取决于你方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。
vs2005水晶报表打包部署vs2005中的crystalReport客户端分发C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReportsCRRedist2005_x86.msi在客户端运行上面的文件即可1)新建“安装和部署项目”-->“安装项目”,确定后在我们的解决方案中多了个安装和部署的项目2)右键点击刚建的安装项目-->添加--->项目输出-->从列表中选择主输出-->选择输出的项目3)右键点击刚建的安装项目-->添加--->合并模块-->把我们下载到的10 net 部署的合并模块全部添加进去4)注意有个CrystalReports10_NET_EmbeddedReporting.msm的模块,我们查看它的属性,把AV860-01CS00G-U7000NC填写到keycode属性值中,要不编译不通过的.5)最后我们来编译生成我们项目的安装文件,setup.exe在客户端就可以安装正常使用了下载合并模块简体中文(cr10_net_merge_modules_chs.zip)/communityCS/FilesAndUpdates/cr10_net_merge_modules_chs.zip.aspcr10_net_merge_modules_chs.zip解压后有四个合并模块分别为:CrystalReports10_maps.msm ;CrystalReports10_NET_EmbeddedReporting.msm;CrystalReports10_NET_RemoteReporting.msm;CrystalReports10_NET_WebServiceReporting.msm前几天用VS2005做了个简单的医务系统的演示程序,B/S模式的,里面用到了水晶报表,说实话,这还是我第一次用水晶报表,看了看帮助就开始做,还算是顺利吧,以为是演示用,要求不太高.做完了就发布,然后就把程序给人家了,结果到了人家那水晶报表那块不能看!他说水晶报表发布的时候需要考几个库,VS发布的时候不能自己把dll文件打包放到里面去,我就把那两个文件(CRDesigner.dll,crvspackage.dll,放在VS安装目录的Crystal Reports文件夹里)给人家考了过去,结果还是不行,后来上网查说需要Crystal Reports 合并模块,从网上down了一个,做一个了安装程序把它装上了也行不通,没办法回来了。
将webconfig 中<identity impersonate="true"/>true更改为false具体为修改注册表下面两个键的值。
[HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report Application Server\InProcServer]修改"PrintJobLimit"="1000"修改为1000[HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.2\Report ApplicationServer\Server]修改"PrintJobLimit"="1000"下载注册表文件PS:另外一种修改方法是改成-1如果还不行,请参考此贴,需要修改代码/Forums/en-US/vscrystalreports/thread/143f3517-c5c4-4c17-9da0-8c4bd54b6604水晶报表打印不出来,请更换本机的PrintControl.cab包替换。
1.进入Windows功能窗口,然后看到internet信息服务选项,然后按照图中设置即可,Ps:打√的选项下面为全选,方圈的下面按照图中打√的选择即可。
2.然后确定,会进入系统安装设置,此时可能需要等待两三分钟的样子。
缺少水晶报表DLL没有添加默认页面安装CRRuntime_32bit_13_0去解决 log4net问题如果是报表未能加载,是权限问题,请将net service 用户加入到c:/Windows/Temp文件夹的权限列表*windows server 2012R2中如果找不到netserveice,则查找 NETWORK SERVICE 用户IE11下水晶报表不能打印问题,如果遇到,安装服务器vs2013,以及vs2013所需要的报表开发包,然后重启服务器,在客户端机器上,先把IE调成兼容IE8模式,然后再打印报表,最后调回IE11,报表打印正常。
VS2005自带的水晶报表使用和发布步骤总结整个使用和发布水晶报表的过程:1.新建一个Dataset,在Dataset中建你所要的表Table2.将建好的Dataset做为数据源模板,构建想要的水晶报表样式,该报表文件可暂命名为:CrySJBB.rpt2.写“Select”的SQL语句代码,注意:Table中的字段一定要在所写的语句中的字段找得到!3.为报表赋数据源并加载该报表,代码可如下://reportPath为报表路径,下面会谈起怎么取的。
reportDocument1.Load(reportPath);reportDocument1.SetDataSource(数据源);CryReViewer.ReportSource = reportDocument1;4.注:加载该报表时的路径一定不能用网上所说的取应用程序下的相对路径,因为那样在发布后是找不到报表路径的.5.报表文件CrySJBB的路径rptreportPath的取法:(1).将建好的报表文件CrySJBB放在某工程下(也可以放在应用程序下,这里以应用程序为例)的Resources资源文件中,这一点应该会添加吧。
(点开Properties下的Resources.resx,双击它,点击里头的“添加资源”的“添加现有文件”即可)(2).写代码,去取得该Resources资源文件下的报表文件,这样做,不但是运行程序还是发布程序,都能自动去找到报表文件。
(我这是C/S模式,B/S模式也可以这样做,只是将取得报表文件后的路径重新设置一下就可以了)using System.Resources;//引用命名空间;string AppPath = Application.StartupPath; //C/S模式下下载客户端到本地的应用程序路径;string RptFileFullName = AppPath + @"\\CrySJBB.rpt"; //假定取得报表文件后的路径;//取得Resources资源文件下的报表文件,ZJFF应用程序名ResourceManager resources = new ResourceManager(typeof(ZJFF.Properties.Resources));byte[] bytes = (byte[])resources.GetObject("CrySJBB");//只写报表名称,不带后缀if (File.Exists(RptFileFullName)) //若假定路径中有该文件,则删除,否则新建一个File.Delete(RptFileFullName);FileStream fileStream = new FileStream(RptFileFullName, FileMode.CreateNew);BinaryWriter binWriter = new BinaryWriter(fileStream);binWriter.Write(bytes, 0, bytes.Length);binWriter.Close();fileStream.Close();reportPath = RptFileFullName;reportPath 就是最后我们要取得路径,即服务器上已下载到本地后的报表路径,加载这个路径就可以查看我们已经做好的水晶报表了。
Crystal Report 2010水晶报表在WINDOWSSERVER 2008使用前提條件:網站一定要調試成功,沒有任何錯誤,然後發布到Server之後,打開報表時,頁面沒有反應或是總是提示無法加載問題等問題,或顯示crystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumen tIsOpene等錯誤信息.可從以下方法來解決問題.1.在Server安裝Crystal Report Runtime 組件,分為32位和64位,請注意2.在windows\temp文件夾,要完全控制權限,切記,最好要重新啟動電腦3.再建立web 應用程序3.在第一次打開報表時,速度有點慢,然後提示安裝SAP Crystal Report PrintControl 進行安裝,便可以正常預覽和打印.在客户端使用一段时间后,没有任何反映或也没有报错的错误,就是不能预览及打印报表时,这时需要修注册表的键值:PrintJobLimit的数量,,默认值为75,须要修改为0,如下图所示注册表路径:[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Report Application Server\Server]ActvieX控件安装问题,错误提示信息[或是无法验证发行者等错误]如下下图所示解决方法如下1.客户端电脑安装.NET 3.5 或以上版本,最好也安装.NET 3.5 SP12.将本网站加入到受信任的站点,并将安全级别设为最低或是ActiveX控件所有选项都启用名无效,设定如下所示++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 如果有什么问题,可与我联系,QQ:46466669 MSN:yqj234@,大家共同学习,进步!。
一、应用程序文件夹操作1、新建一个安装项目,起名“测试打包”这里要记住路径了,不然,打完了找不着安装包在哪里,可就说不过去了,呵呵!2、这里就会出现三个文件夹,不用多说一看就明白意思,点“应用程序文件夹-->添加-->文件夹这里的作用就是好管理,重启一下名字,这里我就叫它“测试打包系统”3、在“测试打包系统”文件夹上右键-->添加-->项目输出下一步:添加主输出一般这个就够了,当然你还有别的资源的话就要添加上去了!4、接下来在“应用程序文件夹”下依些建几个文件夹,我建了3个Images里我放的是图片,2个ICO和1个BMP,后面会用到!Unit放置卸载的文件,这里你记住有这么回事就行了,下面专门会讲这个文件是怎么来的!最下面的一个就不用多说了,上面操作过了,放了一个主输出文件!到这里一个简单的打包项目已完成了,呵呵,右键生成一下,在项目目录中找着安装文件就可以运行安装的用了!但是这样的安装包,你安装完一不小心还找不着安装在哪里去了,呵,因为这样只有在安装文件夹里有东东,而我们所熟悉的开始菜单和桌面上没东西啊!不方便,那就给加上去吧!二、开始菜单-->程序-->里添加内容操作1、点“用户的“程序”菜单”,新建一个文件夹!步骤和前面一样,不细说!我起名叫“测试打包系统”2、在中间的桌口中(上图的名称下面部分位置啊),右键-->创建新的快捷方式,出现下面的界面选择“应用程序文件夹”里面的,也就是我们添加的主输出文件!3、更改新添加"快捷方式的属性"看到了吧,这里我更改了一下name和Icon,更改Icon,看到上图中的浏览了吧,打着前面Images下面的ICO文件就可以了!4、用上面同样的方式在建一个快捷方式,指向前面添加的Unit文件夹里的文件!同样改一下属性!看到了吧,我里面有2个快捷方式!这样就OK了!安装完后开始菜单中就会出现上面添加的两个快捷方式!三、用户桌面添加内容的操作1、在文件夹中间窗口中添加快捷方式,指向“应用程序文件夹”里的主输出,然后更改一下属性就OK 了!这样安装完成后桌面就会出现一个快速启动!到这里一个安装和部署项目也就差不多了,但是吗,离完美还差的远呢,把我现在掌握的就先写出来吧四、自定义用户界面1、打开用户界面2、这里可以设置已有窗体的属性和新增窗体设置窗体属性比如这里可以设置一下BannerBitmap,安装窗口上面的图片,方法和前面的ICO文件一样,浏览去找Images下面的Bmp文件即可!就是这样的效果,哈哈,效果差了点啊!可以根据需要来新增窗口,比如密码啊,等等就是上面的这个窗口五、卸载程序怎么打包上去?我试了好几种方面都不太好使,可能是没理解!最后用了这一种方法,感觉还不错!1、新建一个控制台程序2、看代码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace UninStall{class Program{static void Main(string[] args){string sysroot = System.Environment.SystemDirectory;System.Diagnostics.Process.Start(sysroot + "\\msiexec.exe", "/x {522B529D-8A62-432D-962F-D0CFF826775E}/qr");}}}注意上面代码里的红字部分,这个就是你要打包的程序的安装与部署项目的ProductCode,那么这个ProductCode在哪里找呢?请记住,这里是两个系统,一个是你要打包的系统,另一个是控制台程序,所以啊,这点,要理解!去你要打包的项目里去找看到了吧,就是它了!把它拷贝过来,放在控制台程序里生成一下,上面UNIT里所导入的文件就是现在生成的文件了!!。
VS2008水晶报表发布部总结
一、安装运行时支撑文件
如果你安装了VS2008,那么可以找到如下目录:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5
此目录下有如下文件:
COPY到服务器上根据服务器CPU情况选择性地安装一下。
二、将WEB项目打包成安装程序
1. 在WEB解决方案中新建一个项目,选择项如下:
2. 右键点击项目名称,选择“视图”-“文件系统”
3. 按下图操作:
4. 设置项目的启动文件:
5. 在项目名称上右击,按下图操作,选“项目输出”:
6. 选“内容文件”后再“确定”:
7. 按SHIFT+F6即可生成安装文件,可以在项目的目录下能找到如下结果文件:
Copy这个MSI文件到服务器上安装完就可以浏览了。
三、修补水晶报表的图标显示和打印功能
问题:如上所述,是可以浏览了,但是报表显示的工具栏上图标出不来:如下:
看到吗,小图标出不来。
其它你再试试,打印也没法选打印机的。
解决办法:
1. 在自己开发的PC上找到如下目录:
C:\WINDOWS\\Framework\v2.0.50727\ClientFiles\CrystalReportWeb FormViewer4
注意:CrystalReportWebFormViewer4中的4有可能与你的不一样,无所谓的。
2. 将CrystalReportWebFormViewer4目录复制到你的WEB服务器上项目所在目录中,如:
C:\???????\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4
再试试看吧,问题解决!
祝好运!
水晶报表安装部署(vs2005,vs2008)
1.
水晶报表安装程序和汉化包
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalRepo rts
2.
安装水晶报表运行时支持,打包下面这个目录到需要安装的服务器,然后点击“CRRedist2008_x86.msi” C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5
3.
将下面几个dll拷贝到/bin下,注意版本号
2005,在这个目录
C:\Program Files\Microsoft Visual Studio 8\ReportViewer
2008,在这个目录
C:\Program Files\Microsoft Visual Studio 9.0\ReportViewer
mon.dll
microsoft.reportviewer.processingobjectmodel.dll
microsoft. reportviewer.webforms.dll
安装一下,然后重启服务器,再访问就OK了
从网上找的方法是合并msm什么的,我的程序又不是用msi打包的,所以,不能用,换种方法:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports1 0_5
这里可以看到CRRedist2008_x86.msi及zh-CHS\CRRedist2008_x86_chs.msi
只要把这两个安装了,水晶报表就可以使用了,因为网上有人说水晶报表30天会过期,我把日期调到30天后,看了看,正常
发布软件时,把以上水晶报表的两个安装文件给打包过去安装就OK了。
2005与2008水晶报表的注册码
注册号:6707437608 (此注册号同时适用于2005与2008)
水晶报表10 注册码
FULL NAME -> PARADOX
ORGANIZATION -> PDX-ROXX
KEY CODE -> A3864-08108WK-0ZNF01B
注册号:6707437608(死马当活马医了,2005提示水晶报表注册时,我输入了此号!JcServe r注)
密码:AAP5GKS0000GDE100DS
-------------------------------------------------
密钥:AAP5GKS0000GDE100DS
注册号:6707437608
License : AV860-01CS00G-U7000NC SN : 1231467890
用9.2的注册码可以成功注册的.
ftp://pub:pub@/开发工具与资源/水晶报表9.2/CyReport9.rar
SN:
AVS50-81SG00S-G61002U
Crystal Report for
注册号:6707437608
密码:AAP5GKS0000GDE100DS
Crystal Report 9:
A6S5G-31C0000-0V400JK
6782976749
Report Application Server:
AWM50-G0C000S-3S400CJ
Crystal Enterprise 10
License : A1864-G86000G-GXCMCVE
版本::Crystal Enterprise 10
水晶报表10 注册码
FULL NAME -> PARADOX
ORGANIZATION -> PDX-ROXX
KEY CODE -> A3864-08108WK-0ZNF01B
注册号:6707437608
密码:AAP5GKS0000GDE100DS
Crystal Reports for Visual Studio 2003
License : AAP5G-KS0000G-DE100DS SN : 6707437608 Crystal Repoers 9.2 Advanced Developer Simplified Chinese License : AVS50-81SG00S-G61002U SN : 1112411119 Crystal Reports 9.2.2.634 Professional
License : A5S50-81C0000-90100VU
Crystal Reports 9.0 Standard Edition
License : A6S50-01C000G-K8F00NH
Crystal Reports 9.2.448
License : A5S50-01C000G-1U200CW
Crystal Reports 9.2 Advanced Developer
License : AVS50-81SG00S-G61002U
(Note: select the typical installation)
Crystal Analysis 10
License : A7864-090000G-SXR9A70
Crystal Enterprise 10
License : A1864-G86000G-GXCMCVE
Crystal Reports 10 Advanced Developer (build 10.0.0.53327) License : AV860-01CS00G-U7000NC SN : 1231467890
Crystal Reports Professional 10.0
s/n: A5860-01C0000-5XC002Z
出处:/gxj022/archive/2009/07/08/4329909.aspx。