在JAVA中CLOB与Clob是有区别的类型。

(oracle.jdbc.internal.OracleCallableStatement)OracleCallableStatement能接收CLOB的数据类型,

(java.sql.CallableStatement)CallableStatement能接收Clob的数据类型。

CODE示例

PACKAGE

CREATE OR REPLACE PACKAGE BODY cux_test_clob_pkg IS
PROCEDURE test_lower_clob(p_parameter_id IN NUMBER,
x_out_xml OUT Clob) IS
l_temp_str VARCHAR2(32767); l_temp_clob CLOB;
BEGIN dbms_lob.createtemporary(x_out_xml,
TRUE);
l_temp_str := '<?xml version="1.0" encoding="GBK"?>' || fnd_global.newline; dbms_lob.writeappend(lob_loc => x_out_xml,
amount => length(l_temp_str),
buffer => l_temp_str); END; PROCEDURE test_upper_clob(p_parameter_id IN NUMBER,
x_out_xml OUT CLOB) IS
l_temp_str VARCHAR2(32767); l_temp_clob CLOB;
BEGIN dbms_lob.createtemporary(x_out_xml,
TRUE);
l_temp_str := '<?xml version="1.0" encoding="GBK"?>' || fnd_global.newline; dbms_lob.writeappend(lob_loc => x_out_xml,
amount => length(l_temp_str),
buffer => l_temp_str); END; END;

//获取CLOB

    private Clob getSuppRegXMLClob(OAPageContext pageContext, OAWebBean webBean,String parameterId){
Clob clob = null;
OADBTransaction localOADBTransactionImpl =
(OADBTransaction)pageContext.getApplicationModule(webBean).getOADBTransaction();
OracleCallableStatement localCallableStatement = null;
LogUtil.of("getSuppRegXMLClob mappingId= "+mappingId+" suppCateMappingId="+suppItemCateMappingId,pageContext).print(pageContext);
try { String str =
"begin\n" +
" cux_test_clob_pkg.test_upper_clob(p_parameter_id => :1,\n" +
" x_out_xml => :2);\n" +
"end;";
localCallableStatement = (oracle.jdbc.internal.OracleCallableStatement)localOADBTransactionImpl.createCallableStatement(str, 1);
localCallableStatement.setObject(1, mappingId);
localCallableStatement.registerOutParameter(2, OracleTypes.CLOB);
localCallableStatement.execute();
clob = localCallableStatement.getCLOB(2);
       localCallableStatement.close(); 
} catch (SQLException localException2) {
clob = null;throw new OAException("getSuppRegXMLClob cux_test_clob_pkg.test_lower_cloberror!"+localException2.getMessage());
} finally {
try {
if (localCallableStatement != null)
localCallableStatement.close();
} catch (Exception localException4) {
throw new OAException("getSuppRegXMLClob error!");
} } return clob;
}

//获取Clob

private CLOB getSuppRegXMLClob(OAPageContext pageContext, OAWebBean webBean,String parameterId){
CLOB clob = null;
OADBTransaction localOADBTransactionImpl =
(OADBTransaction)pageContext.getApplicationModule(webBean).getOADBTransaction();
CallableStatement localCallableStatement = null;
LogUtil.of("getSuppRegXMLClob mappingId= "+mappingId+" suppCateMappingId="+suppItemCateMappingId,pageContext).print(pageContext);
try { String str =
"begin\n" +
" cux_test_clob_pkg.test_upper_clob(p_parameter_id => :1,\n" +
" x_out_xml => :2);\n" +
"end;";
localCallableStatement = localOADBTransactionImpl.createCallableStatement(str, 1);
localCallableStatement.setObject(1, mappingId);
localCallableStatement.registerOutParameter(2, OracleTypes.CLOB);
localCallableStatement.execute();
clob = localCallableStatement.getClob(2);
       localCallableStatement.close(); } catch (SQLException localException2) {
clob = null;
throw new OAException("getSuppRegXMLClob cux_test_clob_pkg.test_upper_clob!"+localException2.getMessage());
} finally {
try {
if (localCallableStatement != null)
localCallableStatement.close();
} catch (Exception localException4) {
throw new OAException("getSuppRegXMLClob error!");
} } return clob;
}

JAVA 中CLOB与Clob有区别的更多相关文章

  1. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  2. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...

  3. 转:Java中abstract和interface的区别

    转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...

  4. Java中this与super的区别【6】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...

  5. Java中堆和栈的区别(转)

    栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.      Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new. ...

  6. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  7. Java中Long与long的区别(转)

    Java中Long与long的区别(转) [本文转载自:http://www.cnblogs.com/bluestorm/archive/2012/04/22/2464739.html] 转载请联系原 ...

  8. java中堆和堆栈的区别

    java中堆和堆栈的区别(一) 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取 ...

  9. Java中ArrayList与LinkedList的区别

    Java中ArrayList与LinkedList的区别 一般大家都知道ArrayList和LinkedList的区别: 1. ArrayList的实现是基于数组,LinkedList的实现是基于双向 ...

  10. java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err

    本文关键词: java 标准输出与标准错误    out与 err 区别 用法 联系  java中的out与err区别  System.out和System.err的区别 System.out.pri ...

随机推荐

  1. 08: Django使用haystack借助Whoosh实现全文搜索功能

    参考文章01:http://python.jobbole.com/86123/ 参考文章02: https://segmentfault.com/a/1190000010866019 参考官网自定制v ...

  2. 20145329 《网络对抗技术》Web基础

    实践目标 Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt 理解JavaScript的基本 ...

  3. centos7下yum升级被PackageKit锁定

    新安装centos7后,第一次升级出现下面的错误: Another app is currently holding the yum lock; waiting for it to exit... 另 ...

  4. CodeCombat最后一题GridMancer

    http://codecombat.com/play/level/gridmancer 刚开始没看懂,题目,后来才慢慢看懂的, 题目要求,用最少的矩形框填充空白的地方 var grid = this. ...

  5. 论文笔记之:Continuous Deep Q-Learning with Model-based Acceleration

    Continuous Deep Q-Learning with Model-based Acceleration 本文提出了连续动作空间的深度强化学习算法. 开始正文之前,首先要弄清楚两个概念:Mod ...

  6. PTA第三次上机

    5-1 #include <iostream> #include <cstdlib> #include <string.h> using namespace std ...

  7. 网页图片提取助手(支持背景图、选择dom范围)

    网页图片提取助手(支持背景图.选择dom范围) 网页图片下载工具.网页图片批量保存. 使用场景: 作为web前端开发首——学习小生的你我,仿学在线页面是常有的事,但是一些在线资源,比如图片,图片有im ...

  8. 读书笔记:Spring boot实战

    第一章 入门 Spring boot最重要的四个核心 : 1.自动配置:针对很多spring应用程序常见的应用功能,spring boot能自动提供相关配置 2.起步依赖:告诉spring boot需 ...

  9. shell 逻辑操作符

    Shell还提供了与( -a ).或( -o ).非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为:"!"最高,"-a"次之,"-o&qu ...

  10. Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)

    rosdep where-defined bullet sudo apt-get install libbullet-dev