1环境:oracle10g,spring2.5,ibatis2.3.

2由于项目里面要调用oracle的存储过程,原本采用如下方法调用:

{call ?=Tlgadmin.check(?,?)}

但实际上是会报异常:提示oracle的动态sql语句太长。后来由数据库小组得知:动态sql的大小是有限制的。大小不能超过32K。

既然oracle自己不能执行那么长的sql,实际的调用办法:用jdbc

来调用:应为代码是存在数据里的,所以首先先把它取出来,然后用jdbc

来调用。

A取出类型为CLOB的sql,配置文件这么写的:

class="com.hzmc.capaa.domain.persistence.cap.RecycleCode">

typeHandler="org.springframework.orm.ibatis.support.ClobStringTypeHandler" />

resultMap="recycle_codeList"

parameterMap="recycleCodeMap">

select id,owner,name,otype,status,code,opseq,optype,optime,dbid from

mc$$asset_recycle_code where id=? and dbid=?

B java代码:取出CLOB,然后用jdbc执行。

public RecycleCode showColobByIdAndRecoving(Map map) {

RecycleCode code = (RecycleCode) this.getSqlMapClientTemplate()

.queryForObject("RecycleCode_showClobDetailById", map);

Connection con = null;

Statement st = null;

try {

con = this.getSqlMapClientTemplate().getDataSource()

.getConnection();

st = con.createStatement();

st.execute(code.getCode());

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

st.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

return code;

}

这样就可以解决oracle执行动态sql大小不能超过32k的问题。

java sql超过32k_ibatis调用oracle的动态sql,sql大小不能超过32K相关推荐

  1. oracle sql的应用场景,oracle 3个适用sql场景

    我们使用oracle做一些统计的时候,时常碰到如下场景: 1.竖列转横列 2.分组并合并某列作为结果集 3.分组排序取首条记录 我们使用一个简化的业务场景,来展示这三个场景如何使用sql来解决. 业务 ...

  2. 文件不能超过200k_zblog上传文件出现未知错误 大小不能超过200k【解决】

    今天发布文章时,在上传图片的时候出现了一个错误,错误信息是"错误原因:未知错误". zblog上传文件失败 一开始我以为是图片格式不对,仔细看了之后,确实是jpg文件,一向都没有问 ...

  3. java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?

    求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...

  4. java调用oracle存储过程_java调用oracle存储过程详解

    之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧. 首先来看一下项目结构: 在数据库创建存储过程的脚本,假如,使用的是本地的oracl ...

  5. sql server 2008连接oracle操作步骤详细记录,SQLServer连接Oracle详细步骤

    我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里 我们知道SQL Server和Oracle其实很多原理都 ...

  6. PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置

    1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...

  7. oracle查运行sql语句,查询Oracle正在执行的SQL语句

    查询Oracle正在执行的sql语句及执行该语句的用户 查看正在执行sql的发起者的调用程序 查出oracle当前的被锁对象 结束当前的锁对象 无 SELECT b.sid oracleID, b.u ...

  8. ORACLE常用性能监控SQL【一】

    目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...

  9. PL/SQL Developer连接本地Oracle 11g 64位数据库

    1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...

最新文章

  1. bool 字符串方法 和for循环
  2. C语言 共享库(动态库)制作
  3. chromebook刷机_如何在Chromebook上拍照
  4. JDeps入门–分析项目的依赖关系
  5. akka_Akka的字数统计MapReduce
  6. PyTorch框架学习十四——学习率调整策略
  7. Spring MVC拦截器(Interceptor)的配置及使用
  8. LoadRunner如何建立关联
  9. 智慧树工业机器人测试答案_智慧树_工业机器人技术基础_答案章节单元测试答案...
  10. 实验四 JSP内置对象的应用
  11. 腾讯觅影正式对外开放,可用AI进行医学图像分析和辅助诊疗
  12. UltraEdit文本编辑器-UE
  13. vscode汇编环境配置
  14. Nginx学习八:虚拟主机
  15. linux设置共享文件夹和删除共享文件夹(vmware:linux-windows共享文件夹)
  16. 关于订单支付成功后一些逻辑的处理
  17. 5. harbor镜像私服
  18. FPGA和CPLD对比
  19. 深入理解awgn函数如何向信号中添加高斯白噪声
  20. dos系统不能安装python模块_dos窗口运行python文件提示找不到模块

热门文章

  1. C语言图形代码:三角、金字塔、圣诞树、爱心
  2. 智能净水器app开发功能
  3. 计算机英语在线测试,2017全国公共英语考试三级在线测试试题
  4. 访问学者在美国生活中有哪些风俗禁忌?
  5. 2021年度训练联盟热身训练赛第二场(全)
  6. wordpress加速插件_12个插件来加速您的WordPress网站
  7. swift中网络请求库的封装(Alamofire+HandyJSON)
  8. 网站页面太长怎么滚动截图
  9. OMAP3530显示输出控制
  10. How to remove FAP Filter with Galletto 1260