通过DB Link调用远程ORACLE存储过程返回CURSOR失败
来源:互联网 发布:笔记本电脑连不上网络 编辑:程序博客网 时间:2024/06/06 18:48
今天通过DB Link调用远程ORACLE存储过程返回的是游标,一直失败。
控制台提示ORA-24338: 未执行语句句柄。
MyBatis配置如下:
<select id="getExpenseData" statementType="CALLABLE" parameterType="hashmap"><![CDATA[{call EXT_GET_EXPENSE_DATA@Test_DB_LINK(#{project_code,mode=IN,jdbcType=VARCHAR},#{external_system,mode=IN,jdbcType=VARCHAR},#{since_date,mode=IN,jdbcType=VARCHAR},#{o_cur,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=ExpenseDataMap})}]]> </select>然后试着把这个存储过程写在本地数据库上,运行正常。
搜索网上很多人说Oracle不支持通过DB LINK传递CURSOR。
看来只能通过临时表的方法来解决了。
--------------------------------------------------------------------------
补充:
后来想想,不同数据库是不可能传递游标的。因为游标是内存地址变量,不同的数据库instance之间怎么可能传递?
解决办法:把远程数据库存储过程改为function,返回array,解决!^_^
0 0
- 通过DB Link调用远程ORACLE存储过程返回CURSOR失败
- ibatis 调用oracle存储过程 返回cursor
- java调用Oracle存储过程返回Cursor
- oracle执行存储过程返回游标cursor
- java通过prepareCall调用oracle返回游标的存储过程
- 使用jdbc调用oracle存储过程(返回cursor)的错误及解决方法- -
- Ibatis调用Oracle存储过程,以及返回Cursor结果集的处理
- oracle存储过程cursor
- jdbcTemplate 调用存储过程。 入参 array 返回 cursor
- 使用OLE DB和ADO调用返回记录集的Oracle存储过程
- ibatis配置oracle存储过程返回cursor类型
- Java获取Oracle存储过程返回的Cursor
- java 处理oracle 存储过程返回的cursor
- Ibatis 调用Oracle返回Cursor的函数/过程
- oracle存储过程 cursor使用
- java调用ORACLE 存储过程返回值
- java 调用 oracle存储过程返回列表
- 调用Oracle存储过程返回结果集
- Android的fragment的生命周期及与Activity的生命周期的对比
- ZOJ 3626 Treasure Hunt I
- Effective C++学习系列之静态绑定与动态绑定
- Create Cocos2D-X HelloWorld Project
- python中Unix及Linux的新纪元时间
- 通过DB Link调用远程ORACLE存储过程返回CURSOR失败
- 物联12:电子标签结构和功能
- [BZOJ 1038][ZJOI 2008]瞭望塔(半平面交)
- 自定义控件---系统控件组合式(案例一)
- 菜鸟学习redis-----内存管理之zmalloc函数
- Little Calculator
- 重构笔记-1
- 传输层TCP协议——传输控制协议(TCP)
- 安卓课程表(解决利用Httpclient登录获得cookie继续访问但网页仍提示无权限请登录的问题)