提问一个关于Java中操作Oracle里的CLOB类型数据的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提问一个关于Java中操作Oracle里的CLOB类型数据的问题相关的知识,希望对你有一定的参考价值。
当使用select语句从Oracle里取出CLOB类型字段的内容时,假如说该类型字段为空的话,那么CLOB clob=rs.getClob("clobName");执行该语句之后所获取的clob对象是不是等于null 啊,我测试的时候执行该语句后clob对象的.length()方法==0,该对象也为空,不知道是不是这样的?其实这个问题延伸一下的话,就是当在Java里查询Oracle里内容为空的字段时,rs.get()函数是不是都返回null呢?还是各不一样?希望高手们给点指教,小弟刚工作,经验很少,先谢谢了
引用你的话:“我测试的时候执行该语句后clob对象的.length()方法==0,该对象也为空,...”如果乐的clob对象的length()方法返回0,那么说明clob对象不为null,否则会抛出NullPointerException。
Result的各种get()方法返回的是否为null与方法和数据类型是相关的,如:
String类型getString(),如果Oracle的表中字段为null,则返回null;
int类型的getInt(),如果Oracle的表中字段为null,则返回0;
long类型的getLong(),如果Oracle的表中字段为null,则返回0;
...
这些在JDK的文档中都会有说明的,可以去找一份JDK文件看看。 参考技术A 我写一个 试过可以设置并且取出:参考下在java中调用:
try
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","SCOTT","pass");
CallableStatement cs = con.prepareCall("call dim_inout(?,?,?)");
cs.setInt(1, 7788);
//给第二个?赋值
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
cs.registerOutParameter(3, oracle.jdbc.OracleTypes.NUMBER);
cs.execute();
String name = cs.getString(2);
double sal = cs.getDouble(3);
System.out.println("7788的用户名是:"+name+"工资是:"+sal);
catch (Exception e)
e.printStackTrace();
oracle 怎么把clob转换成string pb
参考技术A 一般来说是把这个字符串取出来 ,在close之前把这个值 赋值到 一个String 中 ,建立been的时候有一个clob字段 和对应Stirng字段以上是关于提问一个关于Java中操作Oracle里的CLOB类型数据的问题的主要内容,如果未能解决你的问题,请参考以下文章
java oracle clob string 大字符串存储