Oracle 將檔案內容寫入資料庫

2021-04-08 20:24:26 字數 1381 閱讀 7571

我們都知道在bbs、論壇或者其他各種**都允許個人向**提交附件資訊,或者是乙個壓縮包或者是乙個檔案,那麼這種附件傳到伺服器之後以什麼形式儲存呢?在這裡介紹一種將檔案的資訊寫入資料庫中的方法。

眾所周知,oracle中的lob (large object)可以儲存非常大的資料。這樣就可以在不改變檔案中內容格式的前提下通過將檔案或其它任何物件序列化成位元組輸出流(outputstream)後寫入資料庫,之後使用位元組輸入流(inputstream)將資料讀出然後反序列化為原始檔案或物件。操作時需要使用oracle的jdbc包,它擴充套件了sun的jdbc包中的blob物件。

1.將檔案的內容寫入資料庫中的blob欄位

提交頁面的**如下:

我們可以在servlet中通過

string file = request.getparameter(request, "file");獲得檔案路徑

file f = new file(file);之後可以呼叫方法將物件傳進去

當然每個人的方法可能都不一樣,但是可以通過這篇文章舉一反三,一通百通

import oracle.jdbc.oracleresultset;

import oracle.sql.blob;

public void insertdocument(file file) throws ioexception catch (exception ex) catch (sqlexception sqle)

} finally

if (conn != null)

} catch (sqlexception e)

}public void downdocument(outputstream fileout,int id) catch (exception ex) catch (sqlexception sqle)

} finally

if (conn != null)

} catch (sqlexception e) }}

上面的方法直接對資料庫進行操作並且傳進去兩個引數,我們在servlet中獲得這兩個引數

int id = integer.parseint(request.getparameter("id"));//附件id

outputstream out = response.getoutputstream();

document doc = new document();//下面的downdocument方法在類document之中

doc.downdocument(out,id);

將Excel檔案內容匯入oracle資料庫

方法一 使用函式對單元格內容進行連線 1.先將excel中資料行中合併的單元格進行拆分。2.在excel中使用函式將單行中每個單元格的資料使用逗號連線起來。函式舉例 a 5 b 5 c 5 d 5 e 5 f 5 text g 5,e m d h 5 i 5 if j 5 text j 5,e m ...

C 非同步將文字內容寫入檔案

在c net中,將文字內容寫入檔案最簡單的方法是呼叫 file.writealltext 方法,但這個方法沒有非同步的實現,要想用非同步,只能改用有些複雜的 filestream.writeasync 方法。使用 filestream.writeasync 有2個需要注意的地方,1是要設定buffe...

Matlab將資料寫入檔案

1 清理現有工作區 2 準備寫入資料 3 獲取目標檔案寫入操作許可權 4 將資料寫入目標檔案 5 將檔案操作入口關閉 6 將寫入的檔案內容展示在控制台 清理工作區 clear clc 準備寫入資料 x 0 0.01 pi y sin x 這個圖畫不畫都可以 plot x,y 獲取目標檔案寫入許可權 ...