起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: etqxq

【结贴】一个SQL语句在数据库能执行,但在数据集里执行时出现error occur during invo

[复制链接]
 楼主| 发表于 2008-10-22 16:11:54 | 显示全部楼层
Select  SelSonData('XSAJBARYB','AJRWBH','XM',a.GLBH_AJ) BARY
  From XSAJJBXXB A,WFFZXYRYXXB_vw B
  Where A.GLBH_AJ=B.AJBH(+) AND B.AJBH IS NOT NULL
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 16:13:14 | 显示全部楼层
在数据集点测试就出现: error occur during invoke getRecords method, ORA-00936: 缺少表达式
ORA-06512: 在"QBXX_YAS.SELSONDATA", line 17
但这条语句在数据库执行是一点问题都没有的.
回复 支持 反对

使用道具 举报

发表于 2008-10-22 16:14:29 | 显示全部楼层
你按6楼的方法测试了吗?看看发往服务端的sql语句是什么。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 16:20:04 | 显示全部楼层
在哪个事件能获取dataset.datafetch.commandtext(OPEN后就报错了),
我直接写在OPEN后不行.
回复 支持 反对

使用道具 举报

发表于 2008-10-22 16:21:04 | 显示全部楼层
看看服务端的日志呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 16:25:54 | 显示全部楼层
服务端的日志上的SQL与跟踪SQL是一样的,错误也是一样的
回复 支持 反对

使用道具 举报

发表于 2008-10-22 16:33:49 | 显示全部楼层
尝试用存储过程数据集来调用看看,再不行的话,就把函数改成存储过程吧,然后用存储过程数据集来调用。关于平台对存储过程的支持,楼主可以在论坛里搜索一下,有专门的帖子。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 16:51:26 | 显示全部楼层
不能换成过程,因为select 的列不能执行过程呀,过程必须EXEC才行.
回复 支持 反对

使用道具 举报

发表于 2008-10-22 17:35:17 | 显示全部楼层
楼主,我做了一个简单的测试,标准数据集是可以这么用的。
我建立了一个函数getsum,返回值是number,然后标准数据集里的sql语句:
select getsum  as sl from dual
测试的时候可以得到结果的。
回复 支持 反对

使用道具 举报

发表于 2008-10-22 17:36:07 | 显示全部楼层
另外,你的过程是不是放到包里了?如果是的话,平台就不支持了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 12:30 , Processed in 0.043106 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表