`

Java操纵Clob和Blob类型示例代码

阅读更多

如何写longlong raw类型

quote:



case Types.LONGVARCHAR:
java.io.StringReader long_var =
new java.io.StringReader(oldval.toString());
stmt.setCharacterStream(pos,long_var,32768);
return;
case Types.LONGVARBINARY:
java.io.File os_file = new java.io.File(oldval.toString());
if (os_file.exists() && os_file.isFile() && os_file.canRead())
{
try {
java.io.FileInputStream long_bin =
new java.io.FileInputStream(os_file);
stmt.setBinaryStream(pos,long_bin,(int)(os_file.length()));
} catch (java.io.IOException ioe) {}
}
else
stmt.setNull(pos,1);
return;


如何操作BLOB/CLOB类型
============================
操作blob/clob时,先用select lobfld from tab where ... for update,取得java.sql.Blobjavq.sql.Clob类型

quote:



stmt
= prepareStatement(Database,p_query,variable_table);
stmt.bind(variable_table);
rset = stmt.stmt.executeQuery();
java.sql.ResultSetMetaData rsetmeta = rset.getMetaData();
if (rset.next())
{
if (rsetmeta.getColumnType(1) == java.sql.Types.CLOB)
{
java.sql.Clob clob = rset.getClob(1);
long offs = 0;
if (clob != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
clob.truncate(offs);
java.io.Writer long_out = clob.setCharacterStream(0);
java.io.FileReader long_file = new java.io.FileReader(os_file);
while((len = long_file.read(long_buf))>0)
{
long_out.write(long_buf,0,len);
offs = offs + len;
}
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.BLOB)
{
java.sql.Blob blob = rset.getBlob(1);
if (blob != null)
{
byte[] long_buf=new byte[8192];
long offs = 0;
try {
int len=0;
blob.truncate(offs);
java.io.OutputStream long_out = blob.setBinaryStream(0);
java.io.FileInputStream long_file = new java.io.FileInputStream(os_file);
while((len = long_file.read(long_buf))>0)
{
long_out.write(long_buf,0,len);
offs = offs + len;
}
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
data = getMessage(jdbc_cfg,"JDBC.COMMAND.COMPLETED");
log.println(data.getColumn(1));
}
else
{
log.println("0 "+jdbc_cfg.getNLSString("JDBC.COMMAND.ROWSSELECTED"));
}
}


如何读取long/longraw/blob/clob中的数据?

quote:



stmt
= prepareStatement(Database,p_query,variable_table);
stmt.bind(variable_table);
rset = stmt.stmt.executeQuery();
java.sql.ResultSetMetaData rsetmeta = rset.getMetaData();
if (rset.next())
{
if (rsetmeta.getColumnType(1) == java.sql.Types.LONGVARCHAR)
{
java.io.Reader long_out = rset.getCharacterStream(1);
if (long_out != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
java.io.FileWriter long_file = new java.io.FileWriter(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.LONGVARBINARY)
{
java.io.InputStream long_out = rset.getBinaryStream(1);
if (long_out != null)
{
byte[] long_buf=new byte[8192];
try {
int len=0;
java.io.FileOutputStream long_file = new java.io.FileOutputStream(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.CLOB)
{
java.sql.Clob clob = rset.getClob(1);
if (clob != null)
{
java.io.Reader long_out = clob.getCharacterStream();
if (long_out != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
java.io.FileWriter long_file = new java.io.FileWriter(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.BLOB)
{
java.sql.Blob blob = rset.getBlob(1);
if (blob != null)
{
java.io.InputStream long_out = blob.getBinaryStream();
if (long_out != null)
{
byte[] long_buf=new byte[8192];
try {
int len=0;
java.io.FileOutputStream long_file = new java.io.FileOutputStream(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
}
data = getMessage(jdbc_cfg,"JDBC.COMMAND.COMPLETED");
log.println(data.getColumn(1));
}
else
{
log.println("0 "+jdbc_cfg.getNLSString("JDBC.COMMAND.ROWSSELECTED"));
}

如何写longlong raw类型

quote:



case Types.LONGVARCHAR:
java.io.StringReader long_var =
new java.io.StringReader(oldval.toString());
stmt.setCharacterStream(pos,long_var,32768);
return;
case Types.LONGVARBINARY:
java.io.File os_file = new java.io.File(oldval.toString());
if (os_file.exists() && os_file.isFile() && os_file.canRead())
{
try {
java.io.FileInputStream long_bin =
new java.io.FileInputStream(os_file);
stmt.setBinaryStream(pos,long_bin,(int)(os_file.length()));
} catch (java.io.IOException ioe) {}
}
else
stmt.setNull(pos,1);
return;


如何操作BLOB/CLOB类型
============================
操作blob/clob时,先用select lobfld from tab where ... for update,取得java.sql.Blobjavq.sql.Clob类型

quote:



stmt
= prepareStatement(Database,p_query,variable_table);
stmt.bind(variable_table);
rset = stmt.stmt.executeQuery();
java.sql.ResultSetMetaData rsetmeta = rset.getMetaData();
if (rset.next())
{
if (rsetmeta.getColumnType(1) == java.sql.Types.CLOB)
{
java.sql.Clob clob = rset.getClob(1);
long offs = 0;
if (clob != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
clob.truncate(offs);
java.io.Writer long_out = clob.setCharacterStream(0);
java.io.FileReader long_file = new java.io.FileReader(os_file);
while((len = long_file.read(long_buf))>0)
{
long_out.write(long_buf,0,len);
offs = offs + len;
}
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.BLOB)
{
java.sql.Blob blob = rset.getBlob(1);
if (blob != null)
{
byte[] long_buf=new byte[8192];
long offs = 0;
try {
int len=0;
blob.truncate(offs);
java.io.OutputStream long_out = blob.setBinaryStream(0);
java.io.FileInputStream long_file = new java.io.FileInputStream(os_file);
while((len = long_file.read(long_buf))>0)
{
long_out.write(long_buf,0,len);
offs = offs + len;
}
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
data = getMessage(jdbc_cfg,"JDBC.COMMAND.COMPLETED");
log.println(data.getColumn(1));
}
else
{
log.println("0 "+jdbc_cfg.getNLSString("JDBC.COMMAND.ROWSSELECTED"));
}
}


如何读取long/longraw/blob/clob中的数据?

quote:



stmt
= prepareStatement(Database,p_query,variable_table);
stmt.bind(variable_table);
rset = stmt.stmt.executeQuery();
java.sql.ResultSetMetaData rsetmeta = rset.getMetaData();
if (rset.next())
{
if (rsetmeta.getColumnType(1) == java.sql.Types.LONGVARCHAR)
{
java.io.Reader long_out = rset.getCharacterStream(1);
if (long_out != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
java.io.FileWriter long_file = new java.io.FileWriter(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.LONGVARBINARY)
{
java.io.InputStream long_out = rset.getBinaryStream(1);
if (long_out != null)
{
byte[] long_buf=new byte[8192];
try {
int len=0;
java.io.FileOutputStream long_file = new java.io.FileOutputStream(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.CLOB)
{
java.sql.Clob clob = rset.getClob(1);
if (clob != null)
{
java.io.Reader long_out = clob.getCharacterStream();
if (long_out != null)
{
char[] long_buf=new char[8192];
try {
int len=0;
java.io.FileWriter long_file = new java.io.FileWriter(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
}
else if (rsetmeta.getColumnType(1) == java.sql.Types.BLOB)
{
java.sql.Blob blob = rset.getBlob(1);
if (blob != null)
{
java.io.InputStream long_out = blob.getBinaryStream();
if (long_out != null)
{
byte[] long_buf=new byte[8192];
try {
int len=0;
java.io.FileOutputStream long_file = new java.io.FileOutputStream(os_file);
while((len = long_out.read(long_buf))>0)
long_file.write(long_buf,0,len);
long_file.close();
long_out.close();
}
catch ( java.io.IOException ioe)
{
log.println(ioe.getMessage());
}
}
}
}
data = getMessage(jdbc_cfg,"JDBC.COMMAND.COMPLETED");
log.println(data.getColumn(1));
}
else
{
log.println("0 "+jdbc_cfg.getNLSString("JDBC.COMMAND.ROWSSELECTED"));
}

 

分享到:
评论

相关推荐

    Mybatis 处理 CLOB、BLOB 类型数据

    MyBatis 提供了对 CLOB 和 BLOB 类型的内置支持,通过将 CLOB 类型映射到 Java 的 String 类型,BLOB 类型映射到 byte[] 类型。 在使用 MyBatis 时,需要在实体类中定义对应的字段类型,例如: ```java public ...

    CLOB、BLOB___CLOB与BLOB的区别

    CLOB 和 BLOB 是两种不同的数据库类型,用于存储不同的数据类型。CLOB 主要用于存储字符数据,而 BLOB 主要用于存储二进制数据。在 MySQL 中,BLOB 有多种类型,每种类型都有其自己的最大存储大小限制。Java 中可以...

    java中(注解符)处理Clob(blob)类型

    Java 中处理 Clob 和 Blob 类型的注解配置 Java 中处理 Clob 和 Blob 类型的注解配置是一种常见的处理大规模数据的方法。Clob(Character Large OBject)类型和 Blob(Binary Large OBject)类型是数据库中两种常用...

    DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz

    在数据库编程领域,CLOB(Character Large Object)和BLOB(Binary Large Object)是用于存储大量文本和二进制数据的数据类型。在DELPHI中,处理这些大型对象时需要特殊的技术和策略。本篇文章将深入探讨DELPHI中...

    spring2通过jdbc的方式读取、更新数据库的clob或者blob类型的数据

    - `MyLobCreps.java`和`MyLobCreps1.java`可能包含了实际操作CLOB和BLOB的代码,比如创建、读取、更新和删除操作。这些类可能定义了方法如`insertWithClob()`和`updateWithBlob()`,并在内部使用了JdbcTemplate。 ...

    clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle

    标题"Clob-blob.rar_blob and clob_clob_java CLOB_java oracle cl_oracle"暗示了这个压缩包包含的资源是关于使用Java操作Oracle数据库中的CLOB和BLOB字段的示例代码。这个压缩包可能包含了一个名为`clob-blob.java`...

    mysql和Oracle在对clob和blob字段的处理

    本文将深入探讨这两个数据库系统如何处理`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)字段,这两种字段类型主要用于存储大量文本或二进制数据。 `CLOB`用于存储非结构化的字符数据,如长篇...

    Oracle导出Clob,Blob工具

    Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...

    Oracle clob和blob在jdbc的应用

    在Java编程中,Oracle数据库提供了对大型对象(Large Object)的支持,包括CLOB(Character Large Object)和BLOB(Binary Large Object)。这两种类型用于存储大量的文本数据(CLOB)和二进制数据(BLOB),例如...

    图片存入Oracle中,用clob和blob两种方式

    在数据库管理中,存储非结构化数据如图片、音频或视频文件时,通常会使用`CLOB`(Character Large Object)和`BLOB`(Binary Large Object)这两种数据类型。Oracle数据库系统支持这两种数据类型,用于存储大量文本...

    Hibernate操作Oarcle中Clob、Blob字段小结

    - 包含在`bigstring_oracle_src`可能有示例代码,展示了如何在Java中创建Clob和Blob对象,以及如何通过Hibernate进行插入、更新和查询操作。 总之,理解并熟练掌握Hibernate对Oracle中的Clob和Blob字段的操作,是...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    在Java的持久化框架Hibernate中,处理大数据类型如Clob(Character Large Object)和Blob(Binary Large Object)是一项常见的任务。这些数据类型通常用于存储大量的文本数据(Clob)和二进制数据(Blob),例如长篇...

    oracle(blob转换为clob)

    在示例代码中,`blob_to_clob`函数首先创建了一个临时的CLOB变量`v_clob`。然后,通过`DBMS_LOB.GETLENGTH`获取BLOB的总长度,计算出需要处理的次数`tmp_num`,确保每次处理不超过32767个字符,这是`VARCHAR2`类型的...

    修改clob blob 字段

    修改clob blob 字段 修改clob blob 字段 修改clob blob 字段

    Oracle,Clob,Blob数据存取的Java代码

    以下是对Oracle中Clob和Blob数据存取的Java代码示例及详细解释。 首先,确保你的项目已经引入了Oracle JDBC驱动(如ojdbc.jar)。然后,你需要创建一个与Oracle数据库的连接,这通常通过`DriverManager.get...

    oracle中的Blob和Clob区别

    在Oracle数据库中,`BLOB`(Binary Large Object)和`CLOB`(Character Large Object)是用于存储大量数据的两种特殊数据类型。这两种类型都属于`LOB`(Large Object)类别,主要用于处理大数据量的存储问题。 ####...

    JAVA对clob的操作

    在JAVA中,操作Oracle数据库中的BLOB和CLOB类型字段是一种常见的需求。然而,网络上关于JAVA对Oracle中BLOB、CLOB类型字段的操作说明往往不够全面、不够准确,甚至有的简直就是胡说八道。因此,本文旨在总结JAVA对...

    BLOB和CLOB的区别以及在ORALCE中的插入和查询操作

    在数据库管理领域,BLOB(Binary Large Object)和CLOB(Character Large Object)是两种用于存储大量非结构化数据的数据类型。它们都是Oracle数据库中重要的字段类型,用于处理大数据量的文本或二进制文件。了解...

    Oracle导出Clob,Blob工具版本2

    Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...

Global site tag (gtag.js) - Google Analytics