ado操作时报nonexist LOB错误

llsj0522 2020-02-27 11:54:09
数据库是ora 10g的,编译平台是XE8. 在语句中使用了wm_concat函数(使用group合并),在pl/sql里测试没有问题(怎么都合适),读取中字段长度也未超过1000,离wn_concat自身报错极限4000也还差很远,但是程序里使用TAdoQuery读取时报异常,提示“ora-22922 nonexistent LOB Value”错误。(网上也查了半天,都说是在使用wm_concat的同时使用了group、union等关键字,但问题是pl/sql查询没有问题。网上另一个解决办法是使用listagg函数,11g才提供该函数,目前也不可能升级数据库) 必须对数据库分组后的字段进行合并,也测试过分步查询解决,不报错但效率没有直接查询出来的效率高,请问下如何解决或有没有其他思路。
...全文
132 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
llsj0522 2020-02-28
  • 打赏
  • 举报
回复
自己顶一下! 先用分段的方式做了,从库里排查了一下,小于字符数800的采用wm_concat方式,大于了就两步查询,好在大于的量不算很多,整体速度还行;

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧