`
- 浏览:
11170 次
- 性别:
- 来自:
北京
-
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class TestBlob {
public static void main(String[]args){
Connection con =null;
PreparedStatement ps=null;
ResultSet rs = null;
int id=1;
String filename="/home/tarena/day1.zip";
Blob b=null;
try{
con=jdbcUtil.getConnection();
con.setAutoCommit(false);
/*
create table t_blob(
id number(12) primary key,
filename varchar2(55) not null,
fileContant Blob);
*/
String sql ="insert into t_blob values(?,?,empty_blob())";
ps=con.prepareStatement(sql);
ps.setInt(1,id);
ps.setString(2,filename);
ps.executeUpdate();
con.commit();
/*委托数据库,来获得这个Blob对象。
将空的blob字段值读回来,就获得了一个空的Blob对象。
*/
sql= "select fileContant from t_blob "+
"where id=? for update";//加上update的意思是,在我提交以前,我上锁了。
jdbcUtil.release(ps);
ps=con.prepareStatement(sql);
ps.setInt(1, id);
rs=ps.executeQuery();
if(rs.next()){
b=rs.getBlob(1);
}
/*将文件中的内容 导入到Blob对象中。*/
InputStream in = new FileInputStream(filename);
OutputStream out =b.setBinaryStream(0);
byte[]content = new byte[in.available()];
in.read(content);
out.write(content);
System.out.println(content.length);
in.close();
out.close();
/*将Blob对象更新到数据库中去。
*/
sql="update t_blob set "+
"fileContant=? where id=?";
jdbcUtil.release(rs,ps,null);
ps=con.prepareStatement(sql);
ps.setBlob(1, b);
ps.setInt(2, id);
ps.executeUpdate();
con.commit();
}catch(Exception e){
e.printStackTrace();
try{}catch(Exception el){
el.printStackTrace();
}
}finally{
jdbcUtil.release(null, ps, con);
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
从Access倒数据到Oracle。 包括varchar2/number类型,以及大数据类型blob;暂时不包括bool类型。 Ps:大数据类型不能在第一列,带大数据类型的表第一列不能为空。
对于一些大数据库类型的东西 保存到数据库
⾮结构化数据常以 ⼆进制⼤型对象(BLOB,将⼆进制数据存储为⼀个单⼀个体的集合)形式,整体存储在关系型数据库中中;或存储在⾮关系型数据库 中(NoSQL数据库)。其处理分析过程也更为复杂。 半结构化数据,是指有...
MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来存储可变数量的数据。BLOB类型分为4种:TinyBlob、Blob、MediumBlob、LongBlob, 这几个类型之间的唯一区别是在存储文件的最大大小上不同。 MySQL的四种BLOB类型...
BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者... mysql BLOB类型 MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBl
先有个免费工具,但每个表只能移植5条记录(clob blob等大数据类型都能处理)。若要代码自动批量移植,请MSN联系:dy-fairy@hotmail.com
标准SQL中提供了如下类型来保存大数据类型: |类型| 长度| |-|-| |tinyblob |2^8^--1B(256B)| |blob |2^16^-1B(64K)| |mediumblob |2^24^-1B(16M)| |longblob |2^32^-1B(4G)| |tinyclob |2^8^--1B...
本资源非常值得珍藏、里面有操作blob大数据类型的方法、各种sql脚本值得一看。 本人强烈推荐!!!
大数据文件查看器 一个跨平台(Windows,MAC,Linux)桌面应用程序,用于查看常见的大数据二进制格式,例如Parquet,ORC,Avro等。... 支持复杂的数据类型,例如数组,映射,结构等 支持Windows,MAC和Linux等多
本文讲述了Java数据类型与MySql数据类型对照表。分享给大家供大家参考,具体如下: 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 CHAR N CHAR java....
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
2、适用人群:计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、机械电子信息等相关专业背景的在校大学生、专业老师 行业从业人员等下载使用。 3、用途:项目代表性强,具有创新性和...
很多人会觉得既然数据库支持BLOB类型的数据,把文件塞进BLOB字段里一定没有错了!?错,不是这样的! 别的先不提,在很多数据库语言里,处理大字段都不是很容易。把文件存放在数据库里有很多问题:1.对数据库的读/写...
参数printjobnumber:用PrintOpen()函数打开的打印作业号x1:integer类型,指定直线起点的x坐标,以千分之一英寸为单位y1:integer类型,指定直线起点的y坐标,以千分之一英寸为单位x2:integer类型,指定直线终点的...
它包含一组使大数据系统能够快速处理和移动数据的技术。 该项目的主要组成部分包括: :标准和有效的内存中各种数据类型的表示形式,包括纯或嵌套:Arrow格式和相关元数据的有效序列化,用于进程和异构环境之间的...
§3.8 大数据类型的使用 119 §3.8.1 可用数据类型 119 §3.8.2 为LOB数据类型指定存储 120 §3.8.3 操作和检索LOB数据 121 §3.9 表和索引有关的数据字典 124 §3.9.1 表和索引数据字典 124 §3.9.2 数据字典查询...
§3.8 大数据类型的使用 119 §3.8.1 可用数据类型 119 §3.8.2 为LOB数据类型指定存储 120 §3.8.3 操作和检索LOB数据 121 §3.9 表和索引有关的数据字典 124 §3.9.1 表和索引数据字典 124 §3.9.2 数据字典查询...
在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。... You can change this value on the server by setting the max_allowed_packet’ variable. 原因:myslq默认配置最小的...
今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误。 网上说用流来处理,没有这么做。这像是一个Bug,只要把插入的数据,默认扩充到2000以上就ok了。 下面是这段代码: ...
Android数据库中存取图片通常使用两种方式,一种是保存图片所在路径,二是将图片以二进制的形式存储(sqlite3支持BLOB数据类型)。对于两种方法的使用,好像第二种方法不如第一种方法更受程序员欢迎,他们认为,在很...