1,首先建一个足够简单的表imageTable
id varchar(20)
image blob
2,blob入库
拷贝Sunset.jpg图片在C盘根目录下
1
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
2
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:beyondduke","duke","duke");
3
conn.setAutoCommit(false);
4
BLOB blob = null;
5
PreparedStatement pstmt = conn.prepareStatement("insert into imageTable(id,image) values(?,empty_blob())");
6
pstmt.setString(1,"10001");
7
pstmt.executeUpdate();
8
pstmt.close();
9
pstmt = conn.prepareStatement("select content from imageTable where id= ? for update");
10
pstmt.setString(1,"10001");
11
ResultSet rs = pstmt.executeQuery();
12
if (rs.next()) blob = (BLOB) rs.getBlob(1);
13
String fileName = "c://Sunset.jpg";
14
File f = new File(fileName);
15
FileInputStream fin = new FileInputStream(f);
16
System.out.println("file size = " + fin.available());
17
pstmt = conn.prepareStatement("update imageTable set image=? where id=?");
18
OutputStream out = blob.getBinaryOutputStream();
19
byte[] data = new byte[(int)fin.available()];
20
fin.read(data);
21
out.write(data);
22
out.close();
23
fin.close();
24
25
pstmt.setBlob(1,blob);
26
pstmt.setString(2,"fankai");
27
28
pstmt.executeUpdate();
29
pstmt.close();
30
31
conn.commit();
32
conn.close(); 浏览数据库的数据,发现image项中数据大小与图片大小一致,说明入库了!
3,blob出库
1
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
2
Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:beyondduke", "duke","duke");
conn.setAutoCommit(
false);
3
Statement stmt = conn.createStatement();
4
/**//* 查询BLOB对象 */
5
ResultSet rs = stmt.executeQuery("SELECT content FROM javatest WHERE id='1001'");
6
while (rs.next())
{
7
/**//* 取出此BLOB对象 */
8
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("image");
9
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d://Sunset.jpg"));
BufferedInputStream in
= new BufferedInputStream(blob .getBinaryStream());
10
int c;
11
while ((c = in.read()) != -1)
{ out.write(c);
12
}
13
in.close();
14
out.close();
15
rs.close();
16
stmt.close();
17
conn.close();
18
检查D盘根目录,会发现Sunset.jpg文件,跟C盘下是一样的,说明入库出库成功!
分享到:
相关推荐
jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc 操作oracle blob数据jdbc ...
在Java的JDBC4.0版本中,Oracle数据库的BLOB类型数据操作变得更加方便。BLOB(Binary Large Object)是用来存储大对象,如图像、音频或视频文件等二进制数据的数据库字段类型。以下是对使用JDBC4.0操作Oracle中BLOB...
### Oracle Blob类型转换为文件读取的相关知识点 ...通过以上内容,我们可以了解到如何在C#中实现Oracle数据库中Blob类型的读取和保存操作。这对于处理数据库中的多媒体文件等二进制数据非常有用。
在Oracle数据库中,BLOB类型的字段具有特殊的处理方式,尤其在使用JDBC(Java Database Connectivity)和Hibernate框架时,需要特别注意其写入过程。以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入...
总结而言,使用JDBC操纵Oracle数据库中的BLOB字段,无论是通过现代的`setBinaryStream`方法还是古老的分步写入策略,都能有效实现对多媒体数据的高效管理。开发者应根据具体的应用需求和环境选择最合适的操作方式。
批量导出oracle bolb图片到本地文件
本示例主要涉及Java编程语言,通过源代码实现Blob文件入库的功能。 `FetchDir.java`可能是一个用于读取本地文件目录,获取待上传至数据库的Blob文件的工具类。此类通常会包含方法,如`listFiles()`,遍历指定目录下...
### Oracle Blob转换Clob ...通过以上内容的学习,可以了解到如何在Oracle数据库中实现Blob到Clob的转换过程,以及相关的注意事项和技术细节。这对于处理大数据量下的不同类型数据转换具有重要意义。
Oracle 中使用 JDBC 读写 CLOB 和 BLOB 字段 在 Oracle 中,使用 JDBC 读写 CLOB(Character Large OBject)和 BLOB(Binary Large OBject)字段是非常重要的。CLOB 和 BLOB 是 Oracle 中的 LOB(Large OBject)...
Oracle数据库系统支持多种复杂的数据类型,其中包括BLOB(Binary Large Object),用于存储非结构化的大数据,如图片、音频或视频文件。而MySQL同样提供了BLOB类型,用于相似的用途。本篇将详细讲解如何在Oracle与...
本文将详细介绍如何在Oracle数据库中实现Blob字段的上传和下载操作。 #### 二、Blob字段上传 Blob字段的上传通常涉及到以下几个步骤: 1. **创建Blob字段:** 首先需要在数据库表中定义一个Blob类型的字段。 2. **...
Oracle数据库中的BLOB(Binary Large Object)字段是用来存储大量二进制数据的,例如图片、文档或音频文件。在Delphi编程环境中,处理这类数据时需要掌握特定的API调用和方法。本篇文章将深入探讨如何在Delphi中对...
使用PL/SQL脚本将Oracle的Blob字段中存储的图片批量导出到文件夹,可在文件夹中直接查看。
使用这些资源,用户可以按照上述步骤操作,实现ORACLE到SQL SERVER的数据迁移。注意,实际操作时应根据具体环境和需求调整步骤,可能还需要考虑数据权限、性能优化等因素。 总的来说,跨数据库系统的数据迁移是一个...
指定文件夹下的所有文件上传至oracle的blob字段,java实现
在Java中,读取Oracle数据库中的BLOB字段通常通过`java.sql.Blob`类实现。这个类提供了多种方法来处理BLOB数据,例如`getBytes(long pos, int length)`用于获取BLOB的一部分或全部内容。以下是一个简单的示例: ```...
在Oracle数据库中,Blob是一种用来存储二进制数据的数据类型,比如图像、音频或视频文件等。本篇文章将详细介绍如何通过SQL查询语句获取存储在Blob字段中的JPEG格式照片的像素大小。 ### 1. 了解Blob数据类型 在...
JDBC读写Oracle的CLOB字段
Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...