网站首页 > 文章中心 > 其它

oracle怎么存储文档

作者:小编 更新时间:2023-09-22 19:28:05 浏览量:137人看过

oracle在实际工作中图片,音频文件等应该怎么存储?

如果必须存储在数据库,转成clob,blob存.不过最好是搞个专门的文件存储服务器存储,数据库只存路径位置就好.

oracle 存储过程 存储文件

直接用java读,然后存到oracle中比较好.

我现在用的代码:

try{

//BLOB java 代码

oracle怎么存储文档-图1

//获得数据库连接

Class.forName("oracle.jdbc.driver.OracleDriver");

con.setAutoCommit(false);

Statement st = con.createStatement();

System.out.println("conn");

/*

//插入一个空对象

System.out.println("insert");

//用for update方式锁定数据行

System.out.println("获取得到更新列");

if (rs.next()) {

//得到java.sql.Blob对象,然后Cast为oracle.sql.BLOB

oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);

//到数据库的输出流

OutputStream outStream = blob.getBinaryOutputStream();

//这里用一个文件模拟输入流

File file = new File("c://1.doc");

InputStream fin = new FileInputStream(file);

//将输入流写到输出流

byte[] b = new byte[blob.getBufferSize()];

int len = 0;

while ( (len = fin.read(b)) != -1) {

outStream.write(b, 0, len);

//blob.putBytes(1,b);

}

//依次关闭(注意顺序)

fin.close();

outStream.flush();

outStream.close();

con.commit();

con.close();

*/

//不需要"for update"

if (rs.next())

{

java.sql.Blob blob = rs.getBlob("FI");

InputStream inStream = blob.getBinaryStream();

//data是读出并需要返回的数据,类型是byte[]

int length = (int) blob.length();

byte[] data = new byte[length];

//data = new byte[inStream.available()];

inStream.read(data);

inStream.close();

fo.write(data);

fo.close();

System.out.println("DATA="+data.toString());

}catch(IOException io){

System.out.println("IOexception:"+io.toString());

}catch(SQLException sql){

System.out.println("SQLxception:"+sql.toString());

}catch(ClassNotFoundException ex){

System.out.println("ClassNotFoundException:"+ex.toString());

在Oracle要保存WORD文档、图片,用什么类型?

可以用blob或bfile类型来存储该类二进制数据.具体说明如下:

★ blob:用来存储可变长度的二进制数据,blob数据在数据库之间或在客户机与服务器进程之间传递时不经历字符集的转换.

以上就是土嘎嘎小编为大家整理的oracle怎么存储文档相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章