`
- 浏览:
111416 次
- 性别:
- 来自:
苏州
-
jdbc 操作 Oracle 中的 BLOB 字段
java 代码
- package test;
-
- import java.io.BufferedInputStream;
- import java.io.FileInputStream;
- import java.io.PrintStream;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
-
- public class Test {
- private Connection conn;
-
-
-
-
-
-
- public Connection getConnection() {
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- conn = DriverManager.getConnection(
- "jdbc:oracle:thin:@localhost:1521:lyx", "scott", "tiger");
- } catch (ClassNotFoundException e) {
-
- e.printStackTrace();
- } catch (SQLException e) {
-
- e.printStackTrace();
- }
- return conn;
- }
-
-
-
-
-
-
-
- public int insertImage(String path) throws Exception {
- int i = 0;
- Statement st = null;
- ResultSet rs = null;
- conn=this.getConnection();
-
- conn.setAutoCommit(false);
- st = conn.createStatement();
-
- i = st
- .executeUpdate("insert into image (id,image) values (seq1.nextval,Empty_BLOB())");
-
- rs = st
- .executeQuery("select image from image where id=(select max(id) from image) for update");
- if (rs.next()) {
-
- oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);
-
- PrintStream ps = new PrintStream(blob.getBinaryOutputStream());
- BufferedInputStream bis = new BufferedInputStream(
- new FileInputStream(path));
- byte[] buff = new byte[1024];
- int n = 0;
-
- while ((n = bis.read(buff)) != -1) {
- ps.write(buff, 0, n);
-
- }
-
- ps.flush();
-
- ps.close();
- bis.close();
- }
- rs.close();
- st.close();
- conn.close();
- return i;
- }
-
- public static void main(String[] args) throws Exception {
- Test test=new Test();
- test.insertImage("e:\\3.jpg");
- System.out.println("OK");
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文将详细介绍如何在Java应用程序中读取存储在Oracle数据库BLOB字段中的图片数据。 #### 二、准备工作 为了实现读取Oracle数据库中的BLOB字段存储的图片,我们需要进行以下准备: 1. **环境搭建**: - Oracle...
为了演示如何在Oracle中操作BLOB字段,首先需要创建一个包含BLOB字段的表。以下是一条创建表`BLOBTEST`的SQL语句: ```sql CREATE TABLE BLOBTEST ( ID NUMBER PRIMARY KEY, NAME VARCHAR2(20), PICTURE BLOB );...
Java对Oracle数据库中BLOB字段的处理涉及多个层面,包括读取、写入、更新以及跨数据库操作等。 ### Java处理Oracle BLOB字段的基本方法 #### 1. 读取BLOB字段 在Java中,读取Oracle数据库中的BLOB字段通常通过`...
根据JDBC 2.0规范,可以通过`setBinaryStream`方法来向BLOB字段中写入数据。下面是一个完整的Java示例代码,演示了如何将本地文件中的图像数据写入Oracle数据库的BLOB字段: ```java import java.io.File; import ...
在Java的JDBC4.0版本中,Oracle数据库的BLOB类型数据操作变得更加方便。BLOB(Binary Large Object)是用来存储大对象,如图像、音频或视频文件等二进制数据的数据库字段类型。以下是对使用JDBC4.0操作Oracle中BLOB...
3. **写入文件内容:** 将文件内容写入到Blob字段中。 ##### 示例代码(上传部分): ```java public static void uploadBlob(Connection cn, MmsNewsVO evo) throws Exception { // 获取元素主键 String medpk =...
JDBC读写Oracle的CLOB字段
本篇将详细介绍如何使用JDBC(Java Database Connectivity)与Hibernate框架来操作Oracle数据库中的BLOB字段。 首先,Oracle数据库的BLOB字段提供了对大对象的高效存储,它的性能优于LONG字段,尤其适合存储大容量...
通过以上步骤,我们实现了使用JSP向Oracle中的BLOB字段上传附件的功能。这个过程涉及到Web表单提交、文件上传处理、JDBC数据库操作、事务管理和错误处理等多个知识点。在实际开发中,可以进一步封装为服务层方法,以...
### JDBC中如何处理Oracle BLOB字段 在Java开发过程中,特别是在使用JDBC(Java Database Connectivity)与Oracle数据库交互时,处理BLOB(Binary Large Object)类型的数据是一项常见的需求。BLOB通常用于存储大量的...
本文将详细介绍如何使用Struts结合JDBC操作Oracle数据库中的Blob字段实现文件的保存和读取。 #### 代码分析 根据提供的部分代码示例,我们可以将其分为两个主要部分:文件保存和文件读取。 ##### 文件保存 文件...
在IT领域,尤其是在数据库...总之,无论是使用JDBC还是Hibernate,正确处理Oracle中的BLOB字段都是至关重要的,尤其是在处理大量二进制数据的应用场景下。掌握上述流程和技巧,能够有效提升数据操作的效率和安全性。
为了将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中,我们需要使用Java 语言和 JDBC 驱动程序。下面是一个示例代码,演示如何将 SQL Server 中的 Image 类型数据导出到 Oracle 的 CLOB 字段中: ...
以下是使用JDBC直接操作Blob字段的步骤: 1. 注册并加载Oracle的JDBC驱动: ```java DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); ``` 2. 创建数据库连接: ```java Connection ...
MySQL和Oracle都是广泛使用的数据库管理系统,它们都支持Blob类型的字段来存储这类数据。本篇文章将深入探讨如何在MySQL和Oracle数据库中插入Blob数据,并提供相关的源码实例。 一、MySQL中的Blob数据插入 MySQL...
本教程将深入探讨如何使用Java进行Blob字段的操作,以实现将图片或文件保存到数据库中。 1. **Blob字段的理解** Blob是SQL标准定义的一种数据类型,它能够存储大量的二进制数据,如图像、音频文件、PDF文档等。在...
【Java读写Oracle BLOB字段】在Java编程中,与Oracle数据库交互时,有时需要处理存储大对象(LOB)的数据,比如图片、音频或大型文本文件。BLOB类型用于存储二进制大对象,本文将详细介绍如何使用Java来读取和写入...
在Java中,我们通常使用`oracle.jdbc.driver.OracleCallableStatement`或`oracle.jdbc.driver.OraclePreparedStatement`类来处理Blob字段。`setBlob()`方法用于设置Blob值,而`getBlob()`用于获取Blob数据。 2. ...