Blob字段存储在JDBC4.0之前和之后有区别,具体区别看代码。
import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.microsoft.sqlserver.jdbc.SQLServerDataSource; import com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement; import net.sourceforge.jtds.jdbc.Driver.*; /** * @author:kenny dong */ public class StoreBlobDemo { public static void main(String[] args) throws IOException, ClassNotFoundException{ StoreBlobDemo demo = new StoreBlobDemo(); //demo.storeBlobOldVersion(); demo.storeBlob4Version(); } public void storeBlobOldVersion() throws ClassNotFoundException, IOException{ //Store blob type before the jdbc 4.0 String url = "jdbc:jtds:sqlserver://172.20.30.78:1433;databasename=LRIReporterMIS"; Connection con = null; PreparedStatement stmt = null; ResultSet ret = null; try{ Class.forName("net.sourceforge.jtds.jdbc.Driver") ; con = DriverManager.getConnection(url) ; stmt = con.prepareStatement("select * from KennyTest"); ret = stmt.executeQuery(); if(ret.next()){ Blob blob = ret.getBlob("content"); //The blob couldn't be null, if null please insert into something //sqlserver: insert into KennyTest(id,content) values(1,'aaa'); //oracle:insert into KennyTest(id,content) values(1,EMPTY_BLOB()); BufferedWriter output = new BufferedWriter( new OutputStreamWriter(blob.setBinaryStream(1),"UTF-8"),65536); output.write("teststring"); output.flush(); stmt = con.prepareStatement("update KennyTest set content = ? where id= 1"); stmt.setBlob(1, blob); stmt.execute(); } }catch(SQLException se){ se.printStackTrace() ; }finally { if (ret != null) try { ret.close(); } catch(Exception e) {} if (stmt != null) try { stmt.close(); } catch(Exception e) {} if (con != null) try { con.close(); } catch(Exception e) {} } } public void storeBlob4Version(){ //Store blob type in the jdbc 4.0 Connection con = null; SQLServerPreparedStatement cstmt = null; ResultSet rs = null; try { // Establish the connection. SQLServerDataSource ds = new SQLServerDataSource(); ds.setIntegratedSecurity(true); ds.setServerName("172.20.30.78"); ds.setPortNumber(1433); ds.setDatabaseName("LRIReporterMIS"); con = ds.getConnection(); Blob blob = con.createBlob(); BufferedWriter output = new BufferedWriter( new OutputStreamWriter(blob.setBinaryStream(1),"UTF-8"),65536); output.write("teststring"); output.flush(); cstmt = (SQLServerPreparedStatement) con.prepareStatement("insert into KennyTest(id,content) values(?,?)"); cstmt.setInt(1, 3); cstmt.setBlob(2, blob); cstmt.execute(); }catch (Exception e) { e.printStackTrace(); }finally { if (rs != null) try { rs.close(); } catch(Exception e) {} if (cstmt != null) try { cstmt.close(); } catch(Exception e) {} if (con != null) try { con.close(); } catch(Exception e) {} } } }
可以看到4.0之后存储更直接一点更方便。
相关推荐
spring+mybatis下BLOB字段的图片存取代码,仅整理了Controller层的代码,service和dao的代码很简单,所以没有整理
kettle通过java代码将数据库blob 字段抽取到本地文件
java中读取ORACLE中BLOB字段存储的图片
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
java,Blob字段操作,将图片或者文件保存到数据库中.zip
Struts用 JDBC Blob字段 保存和读取 Oracle 数据库 好用 试过 有详细注释
Delphi将图片以二进制方式存储在数据库BLOB字段中,将使用TStream读写数据,利用BLOB字段进行图像数据的存取,Blob存变量,具体程序请参考useBlob目录中的代码。
oracle 存读数据库的blob字段 .net有两种方式向Oracle的blob字段中存储图片:
VS、VC++实现对象序列化保存到sqlite表blob类型字段中,包含blob字段的读取和保存,文档中有代码及说明实例。
可以从数据库中读取blob字段并插入到另一个表中,已经测试通过
基于存储过程的MySQL数据库BLOB字段访问.pdf
JDBC操纵Oracle数据库中的BLOB字段
Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle
只需要安装oracle client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及blob数据列名,就可以批量导出ORACLE数据库BLOB字段生成图片
一、BLOB字段 BLOB是指二进制大对象也就是英文Binary Large Object的所写,而CLOB是指大字符对象也就是英文Character Large Object的所写。其中BLOB是用来存储大量二进制数据的;CLOB用来存储大量文本数据。BLOB...
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
使用PL/SQL脚本将Oracle的Blob字段中存储的图片批量导出到文件夹,可在文件夹中直接查看。
c#-操作数据库oracle的小代码,提供用于学习。代码主要实现从oracle下载、上传blob字段的word文件的功能,使用了Oracle.DataAccess.dll,想了解相关知识的欢迎下载,有问题的请给我留言,谢谢。