在程序中打印时水晶报表报错:CrystalDecisions.Web.CrystalReportSource未标记为可序列化

在程序中打印时水晶报表报错:CrystalDecisions.Web.CrystalReportSource未标记为可序列化 解决思路

报错内容如下:
在这里插入图片描述
不多说没用的,直接上解决思路:
这是因为往水晶报表赋值的时候失败了,排查后发现是一个取数据的存储过程执行失败了,经测试,找出了出错的sql语句。出错的sql的大体形式如下:

select * FROM tablea a where exists (select 1 from
        (select max(id) as id,column1,column2,column3 from tablea
        where column1 in ('123456') and column2='123789' group by column1,column2)
        where id=a.id and column1=a.column1 and column2=a.column2)
        and column1 in ('123456') and column2='123789';

这段sql在Oracle10g的版本里是可以执行的,但是在11g里无法执行。会提示不是group by表达式。
需要修改成

select * FROM tablea a where exists (select 1 from
        (select max(id) as id,column1,column2,column3 from tablea
        where column1 in ('123456') and column2='123789' group by column1,column2,column3)
        where id=a.id and column1=a.column1 and column2=a.column2)
        and column1 in ('123456') and column2='123789';

这只是我遇到的,当然其他人遇到这种报错就也可能是别的sql出了问题,这个就需要各位自己取扒一扒程序,测试一下存储过程或者触发器之类的。

虽然现在还用这么老版本的Oracle的人已经不多了,但希望能给遇到此类问题的朋友们一个解决思路。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值