對oracle中BLOB欄位讀寫的總結

2021-05-22 10:57:29 字數 2794 閱讀 6463

oracle

中的blob

,也到網上查了不少資料,感覺網上的資料都或多或少有些錯務,最後通過自己的反覆測試總算解決了,解決的過程中,還真有不少收穫,這裡還是寫下來,和朋友們分享一下! 1.

個人感覺對於

mysql

中blob

型別的字段

,sql server

中的image

型別的字段,

oracle

中的blob

型別的字段讀寫操作的方式是有區別的,既有相同點,也有不同點

2.mysql

中的blob

型別欄位的讀寫,

sql server

中image

型別的字段讀寫,

oracle

中的blob

型別的字段的讀寫的比較()

對於mysql中的blob型別的字段和sql server中的image字段型別的寫(檔案上傳),在插入

insert

操作時,

用pst.setbinarystream(1, fis, int(f.length()))

這種類似的寫法,基本上就可以將資料插入到其

blob

型別的字段中去了。

對於mysql中的blob型別的字段和sql serverimage欄位的讀()

mysql中用

blob orderfile=rs.getblob("order");

sqlserver

中用rs.getbinarystream("orderfile");

對於oracle中的寫(上傳檔案)

第一步先向

blob

欄位中先插入乙個空的

blob值,

用empty_blob()

如insert into webfiles(path,filename,username,job_no,orderfile) values(?,?,?,?,empty_blob())

第二步再用

select ...for update

這種形式的語句來更新資料庫中

blob

字段對應的值

如select orderfile from webfiles where webfiles.job_no=? and webfiles.filename=? for update

(更多細節請參照我上面貼的我專案中的源**)

對於oracle中的讀()

第一步。得到資料庫中的

blob

型別的字段

oracle.sql.blob blob = (oracle.sql.blob)rs.getblob("orderfile");

第二步。將

blob

作為輸入流,再通過輸出流輸出即可

in = new bufferedinputstream(blob.getbinarystream());   

byte buf = new byte[1024]; 

int hasread=0;

while((hasread=in.read(buf))>0) 

//上傳檔案

public synchronized  boolean insert_wfiles(webfilesbean wb) throws ioexception, sqlexception

in.close();

out.close();

}   

conn.commit();  

if (f.exists())

f.delete();   

flag=true;

return flag;

} catch (sqlexception e)

finally

}//

public  void getdownfile1(string jobno,string filename,servletoutputstream sos) throws exception

in.close();

sos.close();

}conn.commit();

conn.setautocommit(true);   

}catch(exception e)

finally

if (rs != null)

}  }

對oracle中BLOB欄位讀寫的總結

對於oracle中的寫 上傳檔案 第一步 先向blob欄位中先插入乙個空的blob值,用empty blob 如 insert into webfiles path,filename,username,job no,orderfile values empty blob 第二步再用select fo...

Oracle中的BLOB和CLOB欄位

一般為了更好的管理oracle資料庫,通常像 檔案 等資訊就用blob欄位來儲存,先將檔案轉為二進位制再儲存進去。而像文件或者是較長的文字,就用clob儲存,這樣對以後的查詢更新儲存等操作都提供很大的方便。1.blob blob全稱為二進位制大型物件 binary large object 它用於儲...

關於oracle中blob欄位查詢的問題

最近在用oracle的過程中用到了對blob欄位模糊查詢的問題,對oracle來說,我並不是高手,找了很多的資料終於能夠查出來了。blob欄位直接用 select from table name where column like 查詢的時候是不能實現的 主要是字段型別不符,就想到了字段轉換成var...