这个是必须安装的,否则页面会报以下错误:
未能加载文件或程序集“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目录设为有写入权限,问题也可以解决。
个人觉得,水晶报表不如帆软报表好用,和许多别家报表相比,FineReport操作起来很方便啊,拖拽数据列到对应单元格,基本上是会excel就可以了
布置网站,报表需要: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目录到远程服务的网站下。
默认的服务器是不支持水晶报表的,但是你只要在上面安装一个程序包然后打开相应的语言包就可以将水晶报表部署到服务器上去了。我用的是finereport,他可以在很多服务器上进行部署,感觉也挺方便的。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)