clob类型用java怎么存,运用Java如何存取Oracle中的CLOB类型字段

这是我几年前写的文章了,一直没有发出来。今天给大家分享。大家从这个例子如手吧。这个例子,存和取都很明白了

import java.sql.*;

import java.io.*;

import oracle.jdbc.driver.OracleResultSet;

import oracle.sql.CLOB;

public class TestOracleClob implements Serializable{

public static void main(String[] args)

{

//create table test (id integer,content clob);

System.out.println("-------------------insert -----------------");

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");

//con.setAutoCommit(false);

//Ok 1

String sql="insert into test values(1,empty_clob())";

Statement stmt=con.createStatement();

ResultSet rs=stmt.executeQuery(sql);

String sqll="select content from test where id=1 for update";

ResultSet rss=stmt.executeQuery(sqll);

if(rss.next()){

CLOB clob = ((OracleResultSet)rss).getCLOB(1);

clob.putString(1,"ddddddddddddddddddddddddddddddddddd");

sql="update test set content=? where id=1";

PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setClob(1,clob);

pstmt.executeUpdate();

pstmt.close();

}

//Ok 2

//String sql1="insert into test values(2,empty_clob())";

//ResultSet rs3=stmt.executeQuery(sql1);

String sql12="insert into test values(?,?)";

PreparedStatement pstmt1=con.prepareStatement(sql12);

pstmt1.setInt(1,2);

pstmt1.setClob(2,oracle.sql.CLOB.empty_lob());

pstmt1.executeUpdate();

String sqll2="select content from test where id=2 for update";

ResultSet rss2=stmt.executeQuery(sqll2);

if(rss2.next()){

CLOB clob = ((OracleResultSet)rss2).getCLOB(1);

clob.putString(1,"affffffffffdfdfdfdddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddfff");

String sql1="update test set content=? where id=2";

PreparedStatement pstmt=con.prepareStatement(sql1);

pstmt.setClob(1,clob);

pstmt.executeUpdate();

pstmt.close();

}

//con.commit();

rss.close();

rss2.close();

pstmt1.close();

rs.close();

stmt.close();

con.close();

System.out.println("-------------insert ok-------------");

}catch(Exception e){

System.out.println("insert:"+e);

}

System.out.println("-------------------query -----------------");

try{

String content="";

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");

Statement stmt=con.createStatement();

String sql="select content from test where id=1";

ResultSet rs=stmt.executeQuery(sql);

if(rs.next()){

CLOB clob = ((OracleResultSet)rs).getCLOB(1);

if(clob!=null){

Reader is=clob.getCharacterStream();

BufferedReader br=new BufferedReader(is);

String s=br.readLine();

while(s!=null){

content+=s+",";

s=br.readLine();

}

}

}

rs.close();

stmt.close();

con.close();

System.out.println("clob:"+content);

System.out.println("-------------query ok-------------");

}catch(Exception ee){

System.out.println("query:"+ee);

}

}

}

标签:

Hive SQL零基础到精通:100道练习题+答案,SQL能力快速提升 我将以我15年架构与开发的经验,带领大家从零基础到精通,通过精心设计的100道练习题及其详解,系统地、深度地掌握Hive SQL的核心精髓。它可以将结构化的数据文件映射为一张数据库表,并提供了一套类SQL的查询语言——HiveQL(简称HQL),允许熟悉SQL的用户直接查询储在HDFS上的海量数据。它将Job描绘为DAG(有向无环图),允许更灵活的任务编排,避免不必要的中间落盘,可以复用容器,从而大幅降低延迟。希望你以此文为起点,在广阔的大数据世界里继续遨游,成为一名真正的数据高手! 阅读详情

相关推荐

芒果YOLO11改进12:即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

包括YOLOv5、YOLOv7、YOLOv8等模型改进 513

(全网最佳解决方案)java处理oracleClob字段类型的坑和2种解决办法|3行代码即可实现Clob字段转String

我们有时候查询oracle语句的时候,oracle有些字段是大字段Clob类型,这样的数据我们第一种方式是可以通过to_char(clob字段)将数据查出来,那如果我们直接查询的话,在java层应该怎么处理clob字段呢。

小小鱼儿小小林的博客 3698

javaoracle中的clob类型

java操作oracle clob,基础教程,教你clobjava中的用法,简单易学。

javaoracleclob类型字段的交互

javaoracleclob类型字段,通过base64转码和解码的交互,实现excel类型文件存取

aw277866304的博客 899

java clob储过程_Java读取、写入、更新Clob字段

jdbc或PL/SQL中通过insert语句插入数据时,如果有CLOB字段,且插入的数据长度超过4000,且会报ORA-01704字符串文字太长的错。一.java jdbc方式处理对于CLOB字段,其实就需要通过流的方式处理,如下是从网上搜集的一些处理方式。1.CharacterStream方式/*--建表语句如下:createtablet_clob(idvarchar2(32)prima...

weixin_39670857的博客 806

Java存取CLOB方法

[code="java"] import java.io.IOException; import oracle.sql.CLOB; import java.sql.*; import java.io.Writer; public void insertClob(){ Connection conn = null; String sql = null; sql = "insert...

独狼 476

运用Java如何存取Oracle中的CLOB类型字段

这是我几年前写的文章了,一直没有发出来。今天给大家分享。大家从这个例子如手吧。这个例子,和取都很明白了  import java.sql.*; import java.io.*; import oracle.jdbc.driver.OracleResultSet;import oracle.sql.CLOB;public class TestOracleClob implemen

etre的专栏 7719

OracleCLOB大数据字段类型

OracleCLOB大数据字段类型 一、Oracle中的varchar2类型 1、我们在Oracle数据库储的字符数据一般是用VARCHAR2。VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同。 2、在Oracle Database中,VARCHAR2 字段类型,最大值为4000;PL/SQL中 VARCHAR2 变量类型,最大字节长度为32767。 3、当 VARCHAR2 容纳不下我们需要储的信息时,就出来的

qq_42874916的博客 1万+

MyBatis 操作ORACLECLOB字段

目录一、背景二、实例代码功能1:MyBatis +ORACLE 插入CLOB功能2:MyBatis +ORACLE 查询CLOB方案一:ORACLE 函数(有长度限制)方案二:直接读取, 将Clob转成String(最终方案)(1)sql语句直接读取(2)编写工具类:将Clob转成String(3)在相应的ClubServiceImpl中调用工具类ClobToString中的方法 MyBatis 操作ORACLECLOB字段相关功能: 1.插入 2.查询 一、背景 近期项目中遇到了用mybatis中

12程序猿的博客 1万+

ORacleClob字段操作

J2EE操作Oracleclob类型字段关键字: javaOracle中,Varchar2支持的最大字节数为4KB,所以对于某些长字符串的处理,我们需要用CLOB类型字段CLOB字段最大支持4GB。还有其他几种类型:blob:二进制,如果exe,zipclob:单字节码,比如一般的文本文件.nlob:多字节码,如UTF格式的文件.以下就是对CLOG字段的操作方法,在我们的项目中帮助文档部分用

wangzhuoyan的专栏 9869

java 存取clob_运用Java如何存取Oracle中的CLOB类型字段

运用Java如何存取Oracle中的CLOB类型字段作者:未知文章来源:www.jspcn.net发布日期:2005年01月19日import java.sql.*;import java.io.*;import oracle.jdbc.driver.OracleResultSet;import oracle.sql.CLOB;public class TestOracleClob imp...

weixin_32248531的博客 204

Java更新Oracleclob类型字段

Java更新Oracleclob类型字段1.查询该clob字段2.处理该clob字段查询结果3.更新该clob字段查询结果 1.查询该clob字段 <select id="selectItsmTask" resultType="java.util.HashMap" parameterType="java.util.HashMap"> select a.task_oid,a.t...

lianjs 1653

clob类型java怎么,Java和读取 oracle CLOB 类型字段的实用方法

当前位置:我的异常网» 编程»Java和读取 oracle CLOB 类型字段的实用方法Java和读取 oracle CLOB 类型字段的实用方法www.myexceptions.net网友分享于:2013-10-28浏览:19次Java 储和读取 oracle CLOB 类型字段的实用方法原帖:http://blog.sina.com.cn/s/blog_5045c09...

weixin_35995661的博客 902

clob类型字段最大储长度_OracleCLOB大数据字段类型

一、Oracle中的varchar2类型我们在Oracle数据库储的字符数据一般是用VARCHAR2。VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同。在Oracle Database中,VARCHAR2 字段类型,最大值为4000;PL/SQL中 VARCHAR2 变量类型,最大字节长度为32767。当 ...

weixin_39854951的博客 2620

Java 储和读取 oracle CLOB 类型字段

同事写了一个java类实现从oracle数据库取数据出来然后再导入我们自己的sqlserver2005数据库,其中有一个字段取数据代码为:getString("content"):一执行到这条语句就报如下错误:java.sql.SQLException: Conversion to String failed at oracle.sql.Datum.stringValue(Datum.ja

每天=生命的最后一天 5742

Java】怎么处理OracleClob类型字段

Oracle 数据库中的 CLOB(Character Large Object)字段类型用于储大量文本数据,例如长文本、大型文档或 XML 数据等。使用流的方式读取 CLOB 数据是因为 CLOB 可能包含大量的文本数据,如果一次性将整个 CLOB 数据加载到内中,可能会导致内溢出或性能问题。因此,使用流的方式读取 CLOB 数据是一种常见的做法,可以有效地处理大型文本数据,并且避免潜在的内问题和性能瓶颈。通过代码可以看到,clob对象中获得一个输入流,在通过这个输入流将数据分批读取出来。

良月柒 2778

java存取oracle中的COLB类型数据

一、如何去处理Clob、BLOB的大类型   CLOB可用于放大文本数据,最多可储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据:   getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象)   getAsciiStream() 方法返回按ASCII编码的输入流(j

Ethan_Fu的专栏 2839

lccvsc.zip_PSCAD_lcc_直流输电

PSCAD实现的LCC-HVDC模型11111

上一篇: php 数组元素 转 变量,php怎样将数组元素转换成变量
下一篇: php+json+decode+循环,我怎么能在php文件中循环这个json对象?
佳丽影像
博客等级 码龄6年 22粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值