ORACLE如何使用BLOB,LONG RAW类型存储图片

以下代码可以向数据库插入二进制形式的图片、文件、视频等。
Java代码
package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class OracleImageTest {
	/*
	 * create table IMAGETABLE ( IMAGE_BLOB BLOB, IMAGE_LONG_RAW LONG RAW )
	 */

	public static void main(String[] args) {
		Connection connection = null;
		try {
			String sql = "insert into imagetable (image_blob )values (?  )";
			connection = getORACLEConn();

			File f = new File("c://myimage.png");
			FileInputStream fis = new FileInputStream(f);

			PreparedStatement ps = connection.prepareStatement(sql);
			ps.setBinaryStream(1, fis, f.length());
			ps.execute();

			fis = new FileInputStream(f);
			sql = "insert into imagetable (image_long_raw )values (? )";
			ps = connection.prepareStatement(sql);
			ps.setBinaryStream(1, fis, f.length());
			ps.execute();

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {

			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	public static Connection getORACLEConn() throws ClassNotFoundException,
			SQLException {
		Connection connection;
		Class.forName("oracle.jdbc.driver.OracleDriver");
		connection = DriverManager.getConnection(
				"jdbc:oracle:thin:@192.168.65.247:1521:ce4702", "qsh91",
				"qsh91");
		return connection;
	}
}
 通过PL/SQL就可以看到插入的图片,或者通过相反的JDBC过程就可以查询出图片。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值