操作CLOB数据。使用的是oracle驱动
代码如下:
package com.j2ee14.ch7;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class ClobTest {
Connection conn= null;
public void addClob(){
try{
PreparedStatement pstmt=conn.prepareStatement("insert into clobtest values(1,?)");
File file=new File("c:\\test.txt");
FileInputStream fis=new FileInputStream(file);
pstmt.setAsciiStream(1, fis,(int)file.length());
pstmt.executeUpdate();
pstmt.close();
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
public void createTable(){
try{
conn.createStatement().execute("create table clobtest(id int,myfile clob)");
}catch(Exception e){
e.printStackTrace();
}
}
public void getClob(){
try{
Statement stmt= conn.createStatement();
ResultSet rst=stmt.executeQuery("select * from clobtest where id=1");
rst.next();
Clob blob=rst.getClob("myfile");
FileOutputStream out = new FileOutputStream(new File("c:/k2.txt"));
InputStream in= blob.getAsciiStream();
int i;
while((i=in.read())!= -1)
out.write(i);
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args)throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
ClobTest test=new ClobTest();
test.conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","bill","bill");
test.createTable();
test.addClob();
test.getClob();
}
}
上面数据库的连接时用普通用户和密码。
执行后结果是数据库orcl中多了一张clobtest表。
c盘下多了一个k2.txt,如下图;
- 大小: 57.9 KB
分享到:
相关推荐
综上所述,通过iBATIS操作Oracle的CLOB数据,需要对iBATIS的映射文件、类型处理器以及Oracle的CLOB特性有深入理解。在实际开发中,合理配置和使用这些机制,能够有效地管理大量文本数据,同时保持代码的简洁性和可...
在描述中同样提到了"test-clob.rar",这意味着文件的内容可能是一系列针对CLOB类型的实验或实例,用于帮助用户理解或操作CLOB数据。 标签"oracle"进一步确认了讨论的主题是Oracle数据库系统,这是一个广泛使用的的...
- 当CLOB数据量非常大时,应考虑使用流式操作,避免一次性加载整个CLOB数据到内存中,以减少对系统资源的消耗。 - 在执行SQL语句时,确保所有参数都正确赋值,尤其是CLOB字段,避免因为参数未设置或设置错误导致的...
CLOB 的优点是可以存储大量的字符数据,并且可以使用字符串操作来处理 CLOB 数据。 BLOB(Binary Large OBject)是另一种数据库类型,用于存储二进制大对象。它是一个大文件,典型的 BLOB 是一张图片或一个声音文件...
Oracle的Clob数据类型在数据库中用于存储大对象(Large Object),如长文本、XML文档等大量字符数据。在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对...
1. **BLOB与CLOB数据类型**: BLOB(Binary Large Object)存储二进制大对象,如图像、音频或视频文件。CLOB(Character Large Object)存储文本数据,如长篇文本或XML文档。在不同数据库系统中,对LOB的支持和处理...
无论使用 JDBC 还是 JNDI,读取 CLOB 数据的操作都是相同的,因为它们都返回 `java.sql.Clob` 对象: ```java // 获取数据行 ResultSet rs = st.executeQuery("SELECT CLOBATTR FROM TESTCLOB WHERE ID=1"); if ...
- 对CLOB数据,可以将文本转换为TMemoryStream,然后使用AsWideString属性从Stream读取或写入。 4. 分块读写: - 当数据过大时,可以采用分块读写,每次只处理一部分数据,减少内存占用。 - 使用Seek方法定位到...
3. **处理CLOB数据**: - 当需要将字符串数据插入CLOB字段时,可以将字符串转换为`Reader`对象。这里使用`StringReader`: ```java Reader clobReader = new StringReader(text); ``` 4. **设置参数**: - `...
Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...
CLOB操作与BLOB操作类似,但是在获取java.sql.Clob对象后需要强制转换为oracle.sql.CLOB对象,以便使用getCharacterOutputStream()方法将数据写入CLOB字段。 三、出库操作 出库操作可以使用ResultSet.getBlob()或...
在Java中,我们通常使用PreparedStatement来插入CLOB数据。首先,创建一个Clob对象,并将待插入的文本数据写入到Clob对象中,然后在SQL语句中设置对应的参数。例如: ```java String sql = "INSERT INTO my_table ...
首先,创建一个ASP.NET Web Form,添加一个TextBox控件用于输入或显示CLOB数据,一个Button控件用于执行数据库操作,以及可能需要的其他UI元素如Label等。 在代码-behind文件中,我们需要连接到Oracle数据库。使用`...
Oracle 提供了丰富的 API 来操作 CLOB 类型的数据,例如读写 CLOB 数据等。 #### 2. Hibernate 配置与实体类设计 为了能够通过 Hibernate 来存取 CLOB 数据,我们需要对 Hibernate 进行相应的配置,并且合理地设计...
### 二、Java操作CLOB字段的方法 #### 2.1 插入CLOB数据 插入CLOB数据通常涉及到以下步骤: 1. **创建空的CLOB对象**:使用`empty_clob()`函数创建一个空的CLOB对象。 2. **获取CLOB的输出流**:使用`...
### JDBC中操作Blob、Clob等对象 ...通过以上的示例可以看出,操作Blob和Clob数据实际上与处理普通的字符串或整型数据类似,只需要掌握相应的API即可。这对于处理多媒体文件或大量文本数据的应用程序来说是非常有用的。
- Oracle还提供了一些内置函数可以直接操作CLOB。 - `SUBSTR`函数可以用来提取CLOB的一部分作为字符串返回。 ```sql SELECT SUBSTR(clob_column, 1, 32767) AS str_column FROM table_name; ``` 3. **使用TO...
在实际操作中,可能会遇到如“数据过长”或“内存不足”等异常,这可能是因为CLOB数据超过了数据库或JVM的限制。为避免这些问题,可以考虑分段读写CLOB,或者调整数据库参数。另外,确保在MyBatis的...
3. **编写转换脚本**:根据具体情况编写SQL脚本或存储过程,用于将CLOB数据转换为VARCHAR2或其他所需类型。 4. **执行转换操作**:执行转换脚本,并监控整个过程以确保数据转换正确无误。 5. **验证结果**:完成...
因此,在进行CLOB数据的读取和写入时,需要通过特定的方法来访问这些数据。 ### Oracle数据库中CLOB的读取 在Oracle数据库中,读取CLOB数据主要通过`CLOB`类的实例化对象完成。当执行SQL查询并获取结果集后,可以...