java sql超过32k_ibatis调用oracle的动态sql,sql大小不能超过32K
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相关推荐
- oracle sql的应用场景,oracle 3个适用sql场景
我们使用oracle做一些统计的时候,时常碰到如下场景: 1.竖列转横列 2.分组并合并某列作为结果集 3.分组排序取首条记录 我们使用一个简化的业务场景,来展示这三个场景如何使用sql来解决. 业务 ...
- 文件不能超过200k_zblog上传文件出现未知错误 大小不能超过200k【解决】
今天发布文章时,在上传图片的时候出现了一个错误,错误信息是"错误原因:未知错误". zblog上传文件失败 一开始我以为是图片格式不对,仔细看了之后,确实是jpg文件,一向都没有问 ...
- java c3p0 存储过程_JAVA Spring 连接池 调用 Oracle 存储过程的问题?
求助,JAVA Spring 连接池 调用 Oracle 存储过程的问题?在Spring中配置了c3P0的连接池,在调用Oracle的存储过程时,报错[code]java.lang.ClassCast ...
- java调用oracle存储过程_java调用oracle存储过程详解
之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧. 首先来看一下项目结构: 在数据库创建存储过程的脚本,假如,使用的是本地的oracl ...
- sql server 2008连接oracle操作步骤详细记录,SQLServer连接Oracle详细步骤
我们知道SQL Server和Oracle其实很多原理都类似.特别是一些常用的SQL语句都是按照标准来.所以它们也可以有一定的互操作性的.这里 我们知道SQL Server和Oracle其实很多原理都 ...
- PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置
1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...
- oracle查运行sql语句,查询Oracle正在执行的SQL语句
查询Oracle正在执行的sql语句及执行该语句的用户 查看正在执行sql的发起者的调用程序 查出oracle当前的被锁对象 结束当前的锁对象 无 SELECT b.sid oracleID, b.u ...
- ORACLE常用性能监控SQL【一】
目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...
- PL/SQL Developer连接本地Oracle 11g 64位数据库
1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...
最新文章
- bool 字符串方法 和for循环
- C语言 共享库(动态库)制作
- chromebook刷机_如何在Chromebook上拍照
- JDeps入门–分析项目的依赖关系
- akka_Akka的字数统计MapReduce
- PyTorch框架学习十四——学习率调整策略
- Spring MVC拦截器(Interceptor)的配置及使用
- LoadRunner如何建立关联
- 智慧树工业机器人测试答案_智慧树_工业机器人技术基础_答案章节单元测试答案...
- 实验四 JSP内置对象的应用
- 腾讯觅影正式对外开放,可用AI进行医学图像分析和辅助诊疗
- UltraEdit文本编辑器-UE
- vscode汇编环境配置
- Nginx学习八:虚拟主机
- linux设置共享文件夹和删除共享文件夹(vmware:linux-windows共享文件夹)
- 关于订单支付成功后一些逻辑的处理
- 5. harbor镜像私服
- FPGA和CPLD对比
- 深入理解awgn函数如何向信号中添加高斯白噪声
- dos系统不能安装python模块_dos窗口运行python文件提示找不到模块