clob字段的处理(oracle)

先用PrepareStatement 对象插入(
这时一定要设定Connection对象的AutoCommit为false,即
conn.setAutoCommit(false);
),语句这样写:
String sql = "INSERT INTO flower_news (flower_news_id,news_content,news_author) VALUES (flower_news_id_s.nextval,empty_clob(),?)";
这里news_content字段为clob值。
然后再用select news_content from folwer_news where ....取出刚才插入的那条记录。
再看下面的代码:
                rs = st.executeQuery(sql);
                java.sql.Clob clob ;
                if (rs.next()) {
                    clob = ((OracleResultSet)rs).getClob(1);
                    oracle.sql.CLOB my_clob = (oracle.sql.CLOB)clob;
                    OutputStream writer = my_clob.getAsciiOutputStream();
                    byte[] contentStr = this.getContent().getBytes();
                    writer.write(contentStr);
                    writer.flush();
                    writer.close();
                }
conn.commit();//到最后才提交
其中这个方法我是取到要插入的字符串
你看看吧,照这样做是没有问题的
在整个过程中你都不能提交,否则是不会成功的

时间: 2024-10-02 19:25:22

clob字段的处理(oracle)的相关文章

mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错

问题描述 mybatis 向oracle 采用foearch批量插入,如果包含clob字段报错 mybatis 向oracle 采用foearch批量插入 如下代码: insert into (id,name,clobs) SELECT #{item.id},#{item.name},#{item.clobs} FROM DUAL 报错信息:仅能绑定要插入 LONG 列的 LONG 值 可是如果采用普通的insert into (id,name,clobs) values(#{id},#{nam

clob-请问PHP如何读取Oracle数据库中的CLOB字段?

问题描述 请问PHP如何读取Oracle数据库中的CLOB字段? 请问PHP如何读取Oracle数据库中的CLOB字段?数据库中CLOB字段中是文本内容. 试了N多次,都没用,还望各位大神不吝赐教,感谢!

asp.net调用存储过程往oracle写clob字段?急死了,弄两天了。。

问题描述 asp.net调用存储过程往oracle写clob字段?急死了,弄两天了..在页面上有一个FCK编辑器可以取VALUE值,然后我把他转化成string类型,调用存储过程来往oracle的clob字段插数据,可是value值大的时候,当然没超过1M,提示转换错误,为什么呢?难道这里的clob不能调用存储过程来写?谁有好的办法,马上结帖!!! 解决方案 解决方案二:在网上找的都是直接insert语句,难道不能调用存储过程吗,我的insert语句是在存储过程里,怎么调用存储过程来写clob字

解析jdbc处理oracle的clob字段的详解_oracle

import java.io.BufferedOutputStream;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.Reader;import java.sql.Clob;import java.sql.Connection;import java.sql.ResultSet;

oracle数据库中如何处理clob字段方法介绍_oracle

在知识库的建立的时候,用普通VARCHAR2存放文章是显然不够的,只有区区4000的字节,放不了多少字, 而CLOB数据类型,则能最多存放8G的数据.但是这个字段处理起来有比较多的特殊性,记录一下. 插入: 直接写在SQL里面是不行的,一来SQL脚本有字符数限制,而来文章内容包含许多特殊字符,如换行,引号, 之类的东西,很麻烦.网上流行通用做法是先插入一个空CLOB字段,用empty_clob()方法来创建空字段,如: 复制代码 代码如下: INSERT INTO T_TOPIC(TOPIC_I

java 插入oracle clob字段问题

问题描述 使用此方法不能更新clob字段的值,每次更新stmt.executeUpdate();//执行SQL,获得的执行条数为0,因此每次插入都是empty_clob(),也不报错误或者异常,哪位大侠有遇到类似情况的吗//--------------clob字段测试方法---------------////修改content的值,插入CLOB字段(网上代码)publicvoidupdateClob(Connectionconn,Stringseqcode,Stringcontent)throw

请问在oracle查询clob字段的内容怎么办呢?

问题描述 我在ORACLE10G中,有个表的字段是文章的内容CLOB字段,我通过LIKE 查询这个字段的内容,但是非常非常的慢,怎么才能让它快起来啊?? 解决方案 建议使用全文检索(FULL TEXT SEARCH).用ORACLE8i中的intermedia text或者oracle9i的text对CLOB字段建一个CTXSYS.CONTEXT 类型的索引, 然后在查询时用CONTAIN作为查询条件.代码如下:--创建表CREATE TABLE tb_clob(userid NUMBER PR

spring+hibernate里面操作clob字段

  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  <property name="hibernateProperties">   <props>    <prop key="hibernate.dialect">org.hibernate

[20130307]clob字段的简单探究2.txt

[20130307]clob字段的简单探究2.txt 前段时间研究一下clob字段.看看函数empty_clob()与null的区别.今天测试有信息插入的情况. http://space.itpub.net/267265/viewspace-755269参考文档: http://www.juliandyke.com/Presentations/LOBInternals.ppt 从上次的测试可以看出:1.clob字段NULL与empty_clob()是不同的.2.如果clob字段有信息,除了保存信