- 浏览: 80719 次
- 性别:
- 来自: 上海
最新评论
-
latent:
我 Ctrl + H 怎么查呀? 求解呀
eclipse中搜索替换所有中文字符 -
marc0658:
匹配特定数字:^[1-9]\d*$ ...
常用正则 -
marc0658:
匹配中文字符的正则表 ...
常用正则 -
marc0658:
1。^\d+$ //匹配非负整数(正整数 + 0) 2。^[ ...
常用正则 -
leejon:
appserv/
一路上next,一分钟搞定apache+ph ...
apache_2.2.14+php-5.2.11+mysql5.0.18
ORACLE的BLOB存取- -
Tag: BLOB存取
就一个例子,周日在一个书店看书,就参照写个例子,呵呵
/*
* Created on 2005-7-11
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.yaowj.database;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.BLOB;
import com.yaowj.database.DBbean;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
/**
* @author ywj
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class BlobBeanTest {
static Logger logger = Logger.getLogger(BlobBean.class.getName());
Connection conn = null;
public BlobBeanTest(){
}
/**
*
* @author ywj
* 写入Blob到数据库
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public boolean addBlob(String fileName){
boolean flag = true;
PreparedStatement pStmt=null;
ResultSet rs=null;
BLOB blob = null;
try{
conn=getConnection();
conn.setAutoCommit(false);
//logger.info(" the con is "+con);
pStmt=conn.prepareStatement("insert into blobtable values(empty_blob())");
System.out.println("000000000000000");
pStmt.executeUpdate();
pStmt=conn.prepareStatement("select blobvalue from blobtable for update");
System.out.println("111111111111111");
rs=pStmt.executeQuery();
while(rs.next()){
blob = ((OracleResultSet)rs).getBLOB(1);
//logger.info(" blob.length() is "+blob.length());
}
System.out.println("222222222222222");
File binaryFile = new File(fileName);
//logger.info(fileName+"'s length = "+binaryFile.length());
FileInputStream instream = new FileInputStream(binaryFile);
OutputStream outstream = blob.getBinaryOutputStream();
int chunk = blob.getChunkSize();
//logger.info("chunk size is "+chunk);
byte[] buffer = new byte[chunk];
int length = -1;
while((length=instream.read(buffer))!=-1)
outstream.write(buffer,0,length);
instream.close();
outstream.close();
conn.commit();
}catch(SQLException e){
e.printStackTrace();
//logger.error(" SQLException "+e);
flag = false;
}catch(FileNotFoundException e){
e.printStackTrace();
//logger.error(" FileNotFoundException "+e);
flag = false;
}catch(IOException e){
e.printStackTrace();
//logger.error(" IOException "+e);
flag = false;
}finally{
try{
rs.close();
pStmt.close();
conn.close();
}catch(Exception e){e.printStackTrace();}
}
return flag;
}
/**
*
* @author ywj
* 从数据库读取Blob数据至文件
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public boolean readBlob(String fileName){
java.util.Date d1 = new java.util.Date();
System.out.println("********"+d1);
boolean flag = true;
PreparedStatement pStmt=null;
ResultSet rs=null;
BLOB blob = null;
try{
conn=getConnection();
conn.setAutoCommit(false);
//logger.info(" the con is "+con);
pStmt=conn.prepareStatement("select blobvalue from blobtable");
rs=pStmt.executeQuery();
while(rs.next()){
blob = ((OracleResultSet)rs).getBLOB(1);
//logger.info(" blob.length() is "+blob.length());
}
FileOutputStream file_out = new FileOutputStream(new File(fileName));
//InputStream blob_in = blob.getBinaryStream();
BufferedInputStream blob_in = new BufferedInputStream(blob.getBinaryStream());
int temp;
while((temp=blob_in.read())!=-1)
file_out.write(temp);
file_out.close();
blob_in.close();
conn.commit();
}catch(SQLException e){
e.printStackTrace();
//logger.error(" SQLException "+e);
flag = false;
}catch(FileNotFoundException e){
e.printStackTrace();
//logger.error(" FileNotFoundException "+e);
flag = false;
}catch(IOException e){
e.printStackTrace();
//logger.error(" IOException "+e);
flag = false;
}finally{
try{
rs.close();
pStmt.close();
conn.close();
}catch(Exception e){e.printStackTrace();}
}
java.util.Date d2 = new java.util.Date();
System.out.println("********"+d2);
return flag;
}
/**
这里取得数据库链接,oracle,其他数据库请做相应修改
*/
public Connection getConnection(){
Connection conn = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:lsscc";
String name = "bbs";
String password = "bbsadmin";
conn = DriverManager.getConnection(url,name,password);
System.out.println("the conn is "+conn);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
/**
测试
*/
public static void main(String[] args){
BlobBeanTest bbt = new BlobBeanTest();
//这里请写文件的存放路径
boolean b1 = bbt.addBlob("C:\\test\\music.mp3");
boolean b2 = bbt.readBlob("C:\\test\\music1.mp3");
System.out.println(b1);
System.out.println(b2);
}
}
- 作者: wolfzha 访问统计:710 2005年07月11日, 星期一 17:53 加入博采
Tag: BLOB存取
就一个例子,周日在一个书店看书,就参照写个例子,呵呵
/*
* Created on 2005-7-11
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.yaowj.database;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.BLOB;
import com.yaowj.database.DBbean;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
/**
* @author ywj
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class BlobBeanTest {
static Logger logger = Logger.getLogger(BlobBean.class.getName());
Connection conn = null;
public BlobBeanTest(){
}
/**
*
* @author ywj
* 写入Blob到数据库
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public boolean addBlob(String fileName){
boolean flag = true;
PreparedStatement pStmt=null;
ResultSet rs=null;
BLOB blob = null;
try{
conn=getConnection();
conn.setAutoCommit(false);
//logger.info(" the con is "+con);
pStmt=conn.prepareStatement("insert into blobtable values(empty_blob())");
System.out.println("000000000000000");
pStmt.executeUpdate();
pStmt=conn.prepareStatement("select blobvalue from blobtable for update");
System.out.println("111111111111111");
rs=pStmt.executeQuery();
while(rs.next()){
blob = ((OracleResultSet)rs).getBLOB(1);
//logger.info(" blob.length() is "+blob.length());
}
System.out.println("222222222222222");
File binaryFile = new File(fileName);
//logger.info(fileName+"'s length = "+binaryFile.length());
FileInputStream instream = new FileInputStream(binaryFile);
OutputStream outstream = blob.getBinaryOutputStream();
int chunk = blob.getChunkSize();
//logger.info("chunk size is "+chunk);
byte[] buffer = new byte[chunk];
int length = -1;
while((length=instream.read(buffer))!=-1)
outstream.write(buffer,0,length);
instream.close();
outstream.close();
conn.commit();
}catch(SQLException e){
e.printStackTrace();
//logger.error(" SQLException "+e);
flag = false;
}catch(FileNotFoundException e){
e.printStackTrace();
//logger.error(" FileNotFoundException "+e);
flag = false;
}catch(IOException e){
e.printStackTrace();
//logger.error(" IOException "+e);
flag = false;
}finally{
try{
rs.close();
pStmt.close();
conn.close();
}catch(Exception e){e.printStackTrace();}
}
return flag;
}
/**
*
* @author ywj
* 从数据库读取Blob数据至文件
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public boolean readBlob(String fileName){
java.util.Date d1 = new java.util.Date();
System.out.println("********"+d1);
boolean flag = true;
PreparedStatement pStmt=null;
ResultSet rs=null;
BLOB blob = null;
try{
conn=getConnection();
conn.setAutoCommit(false);
//logger.info(" the con is "+con);
pStmt=conn.prepareStatement("select blobvalue from blobtable");
rs=pStmt.executeQuery();
while(rs.next()){
blob = ((OracleResultSet)rs).getBLOB(1);
//logger.info(" blob.length() is "+blob.length());
}
FileOutputStream file_out = new FileOutputStream(new File(fileName));
//InputStream blob_in = blob.getBinaryStream();
BufferedInputStream blob_in = new BufferedInputStream(blob.getBinaryStream());
int temp;
while((temp=blob_in.read())!=-1)
file_out.write(temp);
file_out.close();
blob_in.close();
conn.commit();
}catch(SQLException e){
e.printStackTrace();
//logger.error(" SQLException "+e);
flag = false;
}catch(FileNotFoundException e){
e.printStackTrace();
//logger.error(" FileNotFoundException "+e);
flag = false;
}catch(IOException e){
e.printStackTrace();
//logger.error(" IOException "+e);
flag = false;
}finally{
try{
rs.close();
pStmt.close();
conn.close();
}catch(Exception e){e.printStackTrace();}
}
java.util.Date d2 = new java.util.Date();
System.out.println("********"+d2);
return flag;
}
/**
这里取得数据库链接,oracle,其他数据库请做相应修改
*/
public Connection getConnection(){
Connection conn = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:lsscc";
String name = "bbs";
String password = "bbsadmin";
conn = DriverManager.getConnection(url,name,password);
System.out.println("the conn is "+conn);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
/**
测试
*/
public static void main(String[] args){
BlobBeanTest bbt = new BlobBeanTest();
//这里请写文件的存放路径
boolean b1 = bbt.addBlob("C:\\test\\music.mp3");
boolean b2 = bbt.readBlob("C:\\test\\music1.mp3");
System.out.println(b1);
System.out.println(b2);
}
}
- 作者: wolfzha 访问统计:710 2005年07月11日, 星期一 17:53 加入博采
发表评论
-
oracle10g for linux
2013-01-13 22:01 1047Oracle Database 10g Release 2 ( ... -
ORA-12519: TNS:no appropriate service handler found
2013-01-08 09:17 809from http://blog.163.com/kan ... -
jfreechart中文乱码
2012-12-29 09:40 815看看API,设置字体吧 /* 下面是设置曲线图图 ... -
访问局域网Oracle数据库
2012-12-02 17:58 896from http://blog.sina.com.c ... -
windows7开放80端口支持局域网访问apache
2012-12-01 16:52 837from http://www.2cto.com/os/ ... -
Win7下Eclipse中文字体太小
2012-10-23 09:49 755from http://www.cnblogs.com/ ... -
oracle order by
2012-09-05 10:09 815转载自: http://blog.csdn.net/w ... -
php wordpress upload_max_size
2012-08-23 13:33 757http://www.dwuser.com/easyr ... -
windows 快捷键大全 窗口最大化快捷键,最小化,重命名等
2012-08-17 14:36 1020一直以来都很喜欢用windows的快捷键,但学电脑有五年 ... -
本地wordpress 固定链接
2012-08-14 18:07 764win 本地开发环境 固定链接结构不选用默认 ... -
Hibernate 参数设置一览表
2012-08-13 11:37 811转载:http://www.blogjava.net ... -
PLSQL中的&字符处理
2012-08-08 14:21 901转载:http://www.cnblogs.com/Rober ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2012-08-03 11:14 889转载:http://www.cnblogs.co ... -
非法字符:\65279 编码 GBK 的不可映射字符
2012-07-31 15:24 1324警告: 编码 GBK 的不可映射字符"怎么处 ... -
IE6 下 select 动态赋值
2012-07-17 14:25 910setTimeout(function(){ $ ... -
ie6 option innerHTML 关于select 的添加 option 应该注意的问题
2012-07-11 11:14 2300<script type="text/j ... -
jquery获得select option的值 和对select option的操作
2012-07-10 15:31 856jQuery获取Select元素,并选择的Text和Va ... -
Web app root system property already set to different value
2012-06-27 16:36 2227最近在搭建项目环境的时候出现了下面的错误 java.l ... -
fn:length
2012-06-27 15:28 854这个问题曾经也困扰了我好久,不过以后都没有用过也都忘记了 ... -
修改textfield的label
2012-06-15 15:47 795//id:number 下面parent()的个数要看你那个t ...
相关推荐
### 在Oracle中存取BLOB对象实现文件的上传和下载 #### 核心知识点解析: **一、BLOB数据类型简介** BLOB(Binary Large Object)是数据库中的二进制大对象类型,主要用于存储大量二进制数据,如图像、音频、视频等...
标题提到的“基于.NET的Oracle BLOB数据高效存取方法”是一种针对Oracle数据库中BLOB类型数据存储和读取的优化策略。BLOB(Binary Large Object)是Oracle数据库中用于存储大量二进制数据的对象,常用于保存图像、...
oracle 存读数据库的blob字段 .net有两种方式向Oracle的blob字段中存储图片:
本篇文章将深入探讨DELPHI中如何有效地进行CLOB和BLOB的存取处理。 CLOB主要用来存储大文本数据,如长篇文章、XML文档或JSON字符串,而BLOB则用于存储大量的二进制数据,如图像、音频、视频文件或者任何非文本的...
### Java存取Oracle Blob 字段详解 #### 一、Blob 和 BLOB 的区别 在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `...
java对象存储到Blob ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream oo; try { oo = new ObjectOutputStream(bo); oo.writeO
以下是对Oracle中Clob和Blob数据存取的Java代码示例及详细解释。 首先,确保你的项目已经引入了Oracle JDBC驱动(如ojdbc.jar)。然后,你需要创建一个与Oracle数据库的连接,这通常通过`DriverManager.get...
在数据库管理中,存储非结构化数据...综上所述,`CLOB`和`BLOB`都是在Oracle中存储图片的有效方法,具体选择哪种方式取决于应用场景和需求。`ClobAndBlob`工具提供了一种便捷的方式来体验和比较这两种方式的使用效果。
c#-操作数据库oracle的小代码,提供用于学习。代码主要实现从oracle读取、保存、上传图片等功能,使用了Oracle.DataAccess.dll,想了解相关知识的欢迎下载,有问题的请给我留言,谢谢。
"Oracle在PB中用OLE存取blob类型数据" Oracle是在PowerBuilder(PB)中使用OLE存取Blob类型数据的解决方案。该解决方案主要涉及到PB中使用OLE存取Blob类型数据的方法,包括建立数据库表、创建PB库、设置数据库连接...
ODAC是由Devart公司提供的一个高性能Delphi和C++Builder数据库连接库,它支持多种数据库,包括Oracle、MySQL、PostgreSQL等。ODAC提供了一个更直接的面向对象的方式来操作数据库,相比ADO,它通常能提供更好的性能...
Oracle 和 WebLogic 服务器在处理 BLOB(Binary Large Object)数据类型时,涉及的是数据库管理和Web应用程序中的数据存储与检索。BLOB 类型通常用于存储大量二进制数据,如图片、音频或视频文件。本篇文章将深入...
- BLOB(二进制大对象):用于存储大型二进制数据,如影像、图片等,其长度可达4GB,支持随机存取。 - BFILE:虽然用于存储大型二进制数据,但数据实际存储在文件系统中,数据库中仅存储指向文件的指针,Oracle对...
网页在Oracle中存取图片是一项常见的技术操作,尤其在企业级应用中,为了高效管理和存储大量数据,数据库系统如Oracle经常被用作图片资源的存储地。以下将详细阐述这一主题,包括图片的存储方式、访问流程以及相关...
在C中存取Oracle数据库表中BLOB数据的方法研究.pdf
首先,我们要了解标题中的"C#在Oracle中存取图片",这意味着开发者使用C#编写了代码,通过Oracle数据库来管理图像数据。在Oracle中存储非结构化数据,如图片,通常涉及BLOB(Binary Large Object)数据类型,它可以...
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
### Oracle存取文件知识点 #### 一、Oracle Blob数据类型简介 在Oracle数据库中,Blob(Binary Large Object)是一种专门用于存储二进制大数据的对象类型,它可以有效地存储诸如图像、音频文件、视频文件以及任何其他...
### 使用ASP.NET 2.0在Oracle中存取图片(文件)的详细操作指南 在IT领域,尤其是在Web开发中,处理图像和其他文件是常见需求。本文将深入探讨如何使用ASP.NET 2.0框架在Oracle数据库中存取图片和其他类型的文件。...