VS.NET下水晶报表分发时的问题及解决 |
一、载入报表时报错 千辛万苦,总算作完了程序,报表在开发机器上测试一切正常,做安装项目,生成后兴冲冲的拿到客户机上去试验,晕,载入报表时却报错(如图1),怎么会???仔细检查了程序代码,实在没有任何错误,看来问题出在报表发布上了。
经过一番苦苦寻觅,总算找到了问题所在。原来VS.NET环境下发布项目时水晶报表需要包含以下三种组件:
3、 ..运行库(*.msm)
现在,我们知道答案了,在VS.NET安装工程中,系统检测出来的依赖项只有dotNETFXRedist_x86_chs.msm 和 Managed.msm这两个模块,其他的模块我们需要手动加入。
2、在"添加模块"对话窗体,选择 Managed_chs.msm 、Database_Access, Database_Access_chs, regwiz、VC_CRT.msm 和 VC_STL.msm 模块,如图5所示。
3、重新生成安装项目,没问题,只是生成的安装程序一下子大了七、八兆。 二、系统注册 报表在部分Win98的客户端可以载入,在部分Win98的客户端载入报表时却提示"Load Report Failed"(如图6),可恶,居然还出错,怎么回事?
原来,这是因为水晶报表运行时所需的CRQE.dll在客户端的系统注册不正确,而原因又是ATL.dll 的版本不对(Windows 98/ME下的正确版本号应为3.0.8449)。解决办法有两条: 三、语言的支持 报表在Win2000的客户端一切正常,在Win98的客户端运行提示"该字段名未知"(如图7),不会要客户端都装2000吧,要求也太高了?
仔细分析,原来是报表使用到的sql server数据库中的字段名为中文的缘故,也许是.net的缘故,程序对中文字段名支持得不错,没想到报表这里还是过不了关,将其字段名改名为英文字段名,再测试就一切ok了。 好了,顺利过关!希望本文对您处理VS.NET下水晶报表发布问题时能有所帮助。 |