「java保存clob」Java保存错误日志

博主:adminadmin 2023-03-20 13:06:08 451

今天给各位分享java保存clob的知识,其中也会对Java保存错误日志进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java clob

java clob是什么,让我们一起了解一下?

CLOB是内置类型,将字符大对象存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用SQL locator实现Clob对象,这意味着CLOB对象包含一个指向SQL CLOB数据的逻辑指针而不是数据本身。

在JAVA如何使用CLOB进行操作?

在绝大多数情况下,有2种方法使用CLOB。

1、相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可。

2、如果比较大,可以用 getAsciiStream 或者 getUnicodeStream 以及对应的 setAsciiStream 和 setUnicodeStream 即可。

(1)读取数据:

ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1"); rs.next(); Reader reader = rs.getCharacterStream(2);

(2)插入数据:

PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)"); pstmt.setInt(1, 1); pstmt.setString(2, htmlStr); pstmt.executeUpdate();

(3)更新数据:

Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM test1"); rs.next(); Clob clob = rs.getClob(2); long pos = clob.position("dog", 1); clob.setString(1, "cat", len, 3); rs.updateClob(2, clob); rs.updateRow();

那么java是如何操作数据库clob字段的?

示例代码如下: package com.test.db.clob; import java.io.BufferedReader; import java.io.IOException; import java.io.Writer; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ClobTest {undefined private static Connection conn; static {undefined try {undefined Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger"); } catch (ClassNotFoundException e) {undefined e.printStackTrace(); } catch (SQLException e) {undefined e.printStackTrace(); } } public static void main(String[] args) throws SQLException, IOException {undefined testInsert(); testUpdate(); testRead(); } private static void testInsert() throws SQLException {undefined String sql = "insert into test_clob values(1, empty_clob())"; Statement stm = conn.createStatement(); stm.execute(sql); } private static void testUpdate() throws SQLException, IOException {undefined String sql = "select content from test_clob where id = 1 for update"; Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery(sql); while (rs.next()) {undefined Clob c = rs.getClob(1); c.truncate(0);// clear Writer w = c.setCharacterStream(1);//The first position is 1 w.write("abc"); w.close(); c.setString(c.length() + 1, "abc"); conn.commit(); } } private static void testRead() throws SQLException, IOException {undefined String sql = "select content from test_clob where id = 1"; PreparedStatement pstm = conn.prepareStatement(sql); ResultSet rs = pstm.executeQuery(); while (rs.next()) {undefined Clob clob = rs.getClob("content"); System.out.println("clob.getSubString(1, 2) -- " + clob.getSubString(1, 2)); System.out.println("clob.getSubString(1, (int)clob.length()) -- " + clob.getSubString(1, (int)clob.length())); BufferedReader r = new BufferedReader(clob.getCharacterStream()); String s; while ((s = r.readLine()) != null) {undefined System.out.println(s); } r.close(); } } }

clob 对应java什么类型

CLOB是一种数据库中的数据类型。

Character Large Object

SQL 类型 CLOB 在 JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象 (Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用 SQL locator(CLOB) 实现 Clob 对象,这意味着 CLOB 对象包含一个指向 SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。

在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server

2CLOB和BLOB的区别

CLOB使用CHAR来保存数据。  如:保存XML文档。

BLOB就是使用二进制保存数据。  如:保存位图。

java 怎么保存Clob对象

数据库查询出来

CLOB clob = (oracle.sql.CLOB)rs.getClob(i);

String sBlob = ClobToString(clob);

row.put(strFieldName, sBlob);

//---------------

/**

*

* 功能:(将clob类型的数据转换为string)

*

* @Title: ClobToString

* @Date: 0521, 2012 17:10:52 PM

* @param clob

* @return string

*/

public String ClobToString(CLOB clob) throws SQLException, IOException {

String reString = "";

Reader is = clob.getCharacterStream();// 得到流

BufferedReader br = new BufferedReader(is);

String s = br.readLine();

StringBuffer sb = new StringBuffer();

while (s != null) {// 执行循环将字符串全部取出付值给StringBuffer由StringBuffer转成STRING

sb.append(s);

s = br.readLine();

}

reString = sb.toString();

return reString;

}

java 存储clob字段

不可以使用update Test 语法来更新。

PreparedStatement pstat=conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

ResultSet rs1 = pstat.executeQuery();

rs1.moveToInsertRow();

rs1.updateBlob(1, in, file.length() );

rs1.updateInt(2, 1);

rs1.insertRow();

in.close();

rs1.close();

pstat.close();

新增的方法,其实,修改也相似。

Java中什么类型存储大量数据?

BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器,用于存储图片,视频等。

CLOB(Character Large Object),字符大对象,存储小说、论文等字符串组成的大对象。

java中对应的包为java.sql

mysql数据库中有blob和clob两种类型,直接存就可以。

java往数据库存储大文件

你好。请问什么数据库。oracle如下

数据库中提供了两种字段类型 Blob 和 Clob 用于存储大型字符串或二进制数据(如图片)。

Blob 采用单字节存储,适合保存二进制数据,如图片文件。

Clob 采用多字节存储,适合保存大型文本数据。

首先创建一个空 Blob/Clob 字段,再从这个空 Blob/Clob字段获取游标,例如下面的代码:

PreparedStatement ps = conn.prepareStatement( " insert into PICTURE(image,resume) values(?,?) " );

// 通过oralce.sql.BLOB/CLOB.empty_lob()构造空Blob/Clob对象

ps.setBlob( 1 ,oracle.sql.BLOB.empty_lob());

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

ps.excuteUpdate();

ps.close();

// 再次对读出Blob/Clob句柄

ps = conn.prepareStatement( " select image,resume from PICTURE where id=? for update " );

ps.setInt( 1 , 100 );

ResultSet rs = ps.executeQuery();

rs.next();

oracle.sql.BLOB imgBlob = (oracle.sql.BLOB)rs.getBlob( 1 );

oracle.sql.CLOB resClob = (oracle.sql.CLOB)rs.getClob( 2 );

// 将二进制数据写入Blob

FileInputStream inStream = new FileInputStream( " c://image.jpg " );

OutputStream outStream = imgBlob.getBinaryOutputStream();

byte [] buf = new byte [ 10240 ];

int len;

while (len = inStream.read(buf) 0 ) {

outStream.write(buf, 0 ,len);

}

inStream.close();

outStream.cloese();

// 将字符串写入Clob

resClob.putString( 1 , " this is a clob " );

// 再将Blob/Clob字段更新到数据库

ps = conn.prepareStatement( " update PICTURE set image=? and resume=? where id=? " );

ps.setBlob( 1 ,imgBlob);

ps.setClob( 2 ,resClob);

ps.setInt( 3 , 100 );

ps.executeUpdate();

ps.close();

关于java保存clob和Java保存错误日志的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。