1,要在
服务器安装CRRedist2008_X64.msiCRRedist2008_X64_CHS.msiCRRedist2008_x86.msiCRREdist2008_x86_chs.msi这几个
文件,因为我们的服务器是Win2008,所以我选择了CRRedist2008_X64.msiCRRedist2008_X64_CHS.msi这两个文件进行安装。这个是必须安装的,否则页面会报以下错误:未能加载文件或程序集“CrystalDecisions.ReportAppServer.CommLayer,Version=10.2.3600.0,Culture=neutral,PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。2,文件发布的时候,web.config下要有以下几个引用:<add assembly="CrystalDecisions.Data.AdoDotNetInterop, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.VSDesigner, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/<add assembly="CrystalDecisions.Windows.Forms, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/并且bin目录下必须有这几个引用,如果没有,把这几个文件拷贝进来(在C盘里找就可以);3,要把C:\ProgramFiles\CommonFiles\BusinessObjects\2.7\Managed下所有的文件都COPY到服务器网站的BIN目录下,这一步也是必要的,否则页面会报以下错误:注意:这一步我没有在服务器中找到,所以我没有做;未能加载文件或程序集“CrystalDecisions.Web,Version=10.2.3600.0,Culture=neutral,PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。4,如果水晶
报表工具条无法显示,图片变成一个一个红叉,那我们还需要把本机C:\Inetpub\wwwroot下的aspnet_client目录copy到服务器网站根目录下。以上功课做完了,按理说水晶报表应该可以正常运行了(我做到这已经可以了),但是打开页面又跳出来一个错误:文件UNKNOWN.RPT内出错:无法将请求提交给后台处理。在网上搜了一下,应该是因为“出现这个错误的主要原因是水晶报表引擎没有权限生成报表。查看了一个服务器的权限设置,发现C盘的根目录Users组没有权限,只要把Users组设置为对C盘有写入的权限问题就解决了。如果认为User组对整个C盘有写入权限不安全,也可以把Temp目录设为有写入权限,问题也可以解决。初步估计水晶报表引擎可能要在Temp目录里生成一些临时的交换文件,所以需要C盘Temp目录的操作权限。”布置网站,报表需要:
a.在服务器上安装C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi。
b.把C:\Program Files\Common Files\Business Objects\2.7\Managed 下所有的文件都COPY到远程服务器网站的BIN目录下,
c.改注册表Server/InprocServer/PrintJobLimit修改为1000
还有一个
HKEY_LOCAL_MACHINE/SOFTWARE/Crystal Decisions/10.0/Report Application
Server/Server/PrintJobLimit 也修改为1000
这样起来的话还不行,因为水晶报表的很多图片还看不到,所以还要COPY本机的C:\Inetpub\wwwroot下的aspnet_client目录到远程服务的网站下。
我用的是sql2016。 首先需要配置好reporting service,获得报表服务器地址,然后输到这个界面;报表服务器地址类似于为:http://IP地址:端口号/reports
评论列表(0条)