最近一个小项目中用了水晶报表来做一些报表呈现,由于需求不一样,所以实现过程中有些用的是推(Push)模式,有些用的是拉(Pull)模式。
开发环境为VS2008, 报表是10.5.37, 服务器是Win Server 2003
这部分的内容,大家可以先读一下阿泰的文章:http://www.cnblogs.com/babyt/category/75444.html
由于部署的服务器上没有开发环境,所以需要部署水晶报表的运行时环境。
参考:http://www.cnblogs.com/babyt/archive/2008/02/19/1073688.html
现在终点说一说遇到的问题:
1、部署完成之后,运行,发现报表打不开,提示加载报表失败,这个是没有权限的问题,给..Windows\Temp目录,对Network Service 加上修改的权限。
2、用拉(Pull)模式写的报表,一直出现登录提示对话框,设置CrystalReportViewer的属性,不显示登录提示,这个时候出现错误为数据库链接失败,Provider不存在。
查阅许多才发现,原来是设计报表的时候使用的链接用的是SQL Native Client 或者是SQLNCLI在服务器上没有,把他改为SQLOLEDB就OK了。
用VS打开报表,在数据库那里右键,有个Set Database Location,打开属性,找到Provider,右键编辑,即可更改SQLOLEDB,保存发布,一切正常。
3、针对2的问题,另外一种解决办法是按照VS2005的SQL Native Client package,我没试过,在下边列出下载地址,需要的朋友可以自行尝试。
参考文章: