- 浏览: 1328247 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
select student_seq.nextval from dual // 每执行一次都不一样(不管数据库插没插入数据)
public class OracleConnection {
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String user="zw";
String password="pass";
public Connection getConnection(){
Connection conn=null;
try {
Driver.class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn=DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
public class ShowImageServlet extends HttpServlet {//读Blob
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req,resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
OracleConnection oc=new OracleConnection();
Connection conn=oc.getConnection();
OutputStream out=resp.getOutputStream();
String sl="select image from student where id=16 ";// image 类型Blob
PreparedStatement ps2;
try {
ps2 = conn.prepareStatement(sl);
ResultSet rs2=ps2.executeQuery();
Blob b=null;
byte[] buf=new byte[1024];
BufferedOutputStream bos=null;
BufferedInputStream bis=null;
if(rs2.next()){
b=rs2.getBlob("image");
bis=new BufferedInputStream(b.getBinaryStream());
while(bis.read(buf)!=-1){
out.write(buf);
out.flush();
}
bis.close();
}
rs2.close();
ps2.close();
conn.close();
out.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
------------------------------------------------------------------------
public int updateBlob(){ //插入Blob
int i=-1;
Blob b=null;
OracleConnection oc=new OracleConnection();
Connection conn=oc.getConnection();
try {
String sl="select image from student where id=47 for update";
PreparedStatement ps2=conn.prepareStatement(sl);
ResultSet rs2=ps2.executeQuery();
//System.out.println(rs2.next());
byte[] buf=new byte[1024];
if(rs2.next()){
b=rs2.getBlob("image"); //数据库初始为empty_blob();
System.out.println(b);
BufferedOutputStream bos=new BufferedOutputStream(b.setBinaryStream(0));
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(fileName));//blob对象
while(bis.read(buf)!=-1){
bos.write(buf); //blob对象保存到数据库
}
bos.close();
bis.close();
}
rs2.close();
ps2.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return i;
}
------------------------------------------------------------------------------------
Clob对象的插入:(对照上面的需要更改的地方:)
BufferedWriter bos=new BufferedWriter(b.setCharacterStream(0));
BufferedReader bis=new BufferedReader(new FileReader(fileName));
char[] buf=new char[1024];
String sql="insert into student(id,name,comm) values(?,?,empty_clob())";
Clob b=null;
http://hi.baidu.com/%C1%F5%D0%A1%BB%A2%C1%F5/blog/item/28ddd2c75cc93fd6d0006076.html
发表评论
-
access数据库jdbc连接
2019-08-15 09:31 549DriverManager.getConnection(&qu ... -
jdbc连接sql server数据库
2019-08-09 09:05 599public class DataTransmission { ... -
postgresql语法
2019-08-02 16:21 453select CURRENT_DATE from t_user ... -
Oracle外键级联删除和级联更新
2016-01-16 11:51 1826Oracle外键级联删除和级联更新 Oracle在外 ... -
Oracle Job
2015-06-11 22:27 701声明一个job: declare ... -
procedure 不能编译,数据库死锁
2012-03-05 21:17 1248一、数据库死锁的现象 ... -
temporary table ,hint,over(),imp
2012-03-05 21:10 1226create global temporary table ... -
PL/SQl 死循环,死锁
2012-02-20 19:23 1557查找死循环:select * from v$session ... -
PL/SQL批绑定 FORALL
2012-02-01 11:12 1273批绑定: PL/SQL语名块中的SQL语句被送往SQ ... -
PL/SQL 联合数组,集合类型
2012-01-05 14:16 1148自定义Type: create Type arr_Ty ... -
oracle数据库的游标Cursor和存储过程 PL/SQL
2012-01-05 14:03 2215oracle数据库的游标和存储过程 spool abc.lo ... -
对Oracle数据库中的大表管理的简化--分区表
2011-02-21 09:27 1875为了简化Oracle数据库中的大表管理,因而Oracle8推出 ... -
Oracle分页查询 效率高
2011-02-21 09:25 39581.Oracle分页查询:SELECT * ... -
Oracle数学函数和SQL数学函数的区别
2011-02-21 09:22 1257Oracle数学函数和SQL Server中的数学函数不太一样 ... -
oracle多列子查询的实现
2011-02-17 15:42 2437oracle多列子查询是oracle数据库中的一种查询方 ... -
oracle 去重复,¥货币,保留小数点后两位,测试SQL语句执行时间
2011-02-17 15:38 39611.去重复数据:select * from b a where ... -
ORACLE 左连接 left join
2011-02-11 18:05 2698ORACLE 左连接:1.使用(+)表示:SELECT A.O ... -
用EXISTS替换DISTINCT
2011-02-09 12:24 5361Oracle SQL 性能优化技巧 1.选用适合的O ... -
列转行 sql
2010-12-24 15:15 1543如表ROW2COLUMN2有以下数据: 名字 课程 分数 ... -
Exists 和In
2010-12-17 13:28 9953
相关推荐
本篇文章将深入探讨如何在Delphi中对Oracle数据库的BLOB字段进行读写操作。 首先,你需要在Delphi项目中引入Oracle数据库访问的相关组件,如DBExpress或ADO。DBExpress是Delphi内置的一个轻量级数据库访问框架,而...
本篇文章将深入探讨如何使用C#语言访问Oracle数据库,并重点讲解处理Blob(Binary Large Object)字段的读写操作。 首先,让我们理解C#访问Oracle数据库的基本原理。Oracle数据库提供了一个名为ODP.NET(Oracle ...
oracle中用来存储大数据的BLOB(图片,文本,文件等)的 读写与复制方法
BLOB是一种可以存储大量二进制数据的对象,分为四种子类型:BLOB、CLOB、NCLOB和BFILE。在Oracle中,BLOB用于存储二进制数据,如照片;而在MySQL中,BLOB也有类似的分类,包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB...
在数据库系统中,二进制大对象(Binary Large Object,简称BLOB)是一种用于存储大量二进制数据的数据类型,例如图像、音频或视频文件等。Oracle数据库支持Blob类型,允许用户在数据库中直接存储和管理这些大型文件。...
Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...
本篇文章将深入探讨如何在 Oracle 数据库与基于 WebLogic 的应用中读写 BLOB 数据。 首先,Oracle 数据库提供了多种操作 BLOB 值的方法。在 SQL 查询中,你可以使用 `SELECT BLOB_COLUMN FROM TABLE` 来读取 BLOB ...
总之,通过ADO.NET和OracleClient,开发者可以轻松地在C#应用程序中处理Oracle数据库中的Blob和Clob大对象,实现数据的高效读写。注意在使用过程中确保连接字符串的安全性,避免SQL注入攻击,并合理管理数据库资源,...
"基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案" 本文介绍了一种基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案。该方案使用JSP技术读取ORACLE数据库中的BLOB字段存储的坐标点,然后将坐标传递到...
Oracle数据库在处理大对象(LOB)类型,如Clob(Character Large Object)和Blob(Binary Large Object)时,有时需要专门的工具来进行高效且安全的数据导出。这些字段通常存储大量的文本或二进制数据,比如长篇文档...
它可能包含具体的数据库连接配置、BLOB读写方法的实现等,通过分析这个文件的源码,我们可以更深入地了解Java与Oracle在处理大字段时的具体细节和最佳实践。 总的来说,Java与Oracle在处理大字段时的交互涉及到...
Hibernate作为一款流行的ORM(对象关系映射)框架,提供了与Oracle数据库交互的简便方式,包括处理Blob数据。本文将详细介绍如何使用Hibernate和JDBC读取和存储Oracle数据库中的Blob对象。 ### 1. Hibernate Blob...
Hibernate提供了`BlobType`等类型映射器来简化BLOB字段的读写操作。开发者可以通过实体类中的字段直接与BLOB类型的数据库字段关联,Hibernate会在后台自动处理BLOB的读取和写入过程。 总之,无论是使用JDBC还是...
部分内容中,作者首先介绍了Oracle中的大对象数据分类,包括字符类型(CLOB和NCLOB)和二进制类型(BLOB),以及BFILE类型,后者存储在操作系统文件中。接着,讨论了两种存取方式:数据存储在内部表空间和指向操作...
在Oracle数据库中,BLOB(Binary Large Object)和CLOB(Character Large Object)是两种用于存储大量数据的特殊字段类型。本篇文章将深入剖析如何使用MyBatis框架在Oracle数据库中对BLOB类型字段进行保存和读取。 ...
在 SQL Server 中,Image 类型用于存储二进制大对象(BLOB),如图像、音频、视频等。Image 类型可以存储大量数据,但由于其存储方式和检索机制的限制,Image 类型数据的读写效率较低。 CLOB 字段在 Oracle 中的...