精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-03
最后修改:2009-04-07
1环境:oracle10g,spring2.5,ibatis2.3. 2由于项目里面要调用oracle的存储过程,原本采用如下方法调用: {call ?=Tlgadmin.check(?,?)} 但实际上是会报异常:提示oracle的动态sql语句太长。后来由数据库小组得知:动态sql的大小是有限制的。大小不能超过32K。 既然oracle自己不能执行那么长的sql,实际的调用办法:用jdbc 来调用:应为代码是存在数据里的,所以首先先把它取出来,然后用jdbc 来调用。 A取出类型为CLOB的sql,配置文件这么写的: <resultMap id="recycle_codeList" <select id="RecycleCode_showClobDetailById" B java代码:取出CLOB,然后用jdbc执行。 public RecycleCode showColobByIdAndRecoving(Map map) { 这样就可以解决oracle执行动态sql大小不能超过32k的问题。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-03
我记得不错的话,这样执行ORACLE本身对SQL语句的长度也是有限制的。
|
|
返回顶楼 | |
发表时间:2009-04-03
memphis 写道 我记得不错的话,这样执行ORACLE本身对SQL语句的长度也是有限制的。 ORACLE的SQL语句的长度是有限制的 |
|
返回顶楼 | |
发表时间:2009-04-03
用jdbc执行sql语句,并不是调用oracle的系统函数来执行的!jdbc对sql的长度限制是多少其实我也不敢确定!网上有说是128的,但是jdbc的限制要比oracle的要大!这个是可以肯定的。
|
|
返回顶楼 | |
浏览 3414 次