正在看的ORACLE教程是:Oracle三種上傳檔案技術。
Oracle中有多種方法可以向資料庫或伺服器檔案系統上傳檔案,這裡主要介紹如下三種:Oracle HTTP Server(OHS)的mod_plsql模組提供通過web頁面向資料庫上傳檔案的功能;Oracle 9iAS的標籤庫和Bean提供的檔案上傳功能;通過JDBC程式上傳檔案。
一、Oracle HTTP Server(OHS)的mod_plsql模組提供通過web頁面向資料庫上傳檔案的功能
1.在檔案上傳的目標模式中建立文檔訪問表
表中CONTENT_TYPE列為BLOB或long raw,但只能有一列。每個上傳檔案在表中單獨佔有一行,不能同時把多個檔案上傳到表中的同一行內,這是mod_plsql模組功能有限的地方。用下面和列建立文檔表:Content_table。
2.配置DAD的文檔訪問表
啟動資料庫和OHS後,建立空白的資料庫訪問描述符。在"資料庫訪問描述符"頁面的"網關使用文檔表"資訊向與此資料庫訪問描述符關聯的資料庫上傳/下載文檔。預設情況下所有文檔都將以 BLOB 上傳。通過在 Long Raw 欄位中指定以逗號分隔的副檔名,可以覆蓋此預設設定。此欄位的*值將使所有文檔以 Long Raw 上傳。"文檔訪問過程"指定用於訪問文檔的虛擬路徑。"文檔訪問過程"欄位指定網關處理文檔請求所調用的過程。這裡指定預設的文檔表為content_table。
3.提供檔案上傳頁面,這裡使用預存程序的形式上傳和瀏覽、下載檔案。
4.提供上傳檔案瀏覽頁面
第3步提交的檔案自動上傳到文檔表中,下面由預存程序WRITE_INFOS來記錄上傳的檔案資訊,實際上完全沒必要,但這裡做一比較。
查閱文檔表後會發現,檔案已經上傳了,但文檔表的上傳時間有錯誤,與上傳記錄中的系統時間不符,這可能是該功能的一個BUG,如果誰有解決此問題的辦法或軟體補丁,請告訴我。
5.為上傳檔案提供頁面瀏覽功能
這樣可以通過Web瀏覽器根據上傳檔案的mime_type類型瀏覽檔案了。
這種上傳檔案的辦法最為簡單,可以支援中文檔案名稱,支援用戶端檔案上傳和下載,可以自動識別檔案類型和計算檔案大小。
[NextPage]
二、Oracle 9iAS的標籤庫和Bean提供的檔案上傳功能
Oracle developer suit 9i 中的Jdeveloper9031提供通過標籤庫上傳檔案的方法,下面的例子中in_file.jsp檔案提供上傳表單,up_file.jsp列出上傳檔案清單,dn_file.jsp檔案為下載剛才上傳的檔案。該方法使用圖形編輯器,簡單可行,但不支援中文檔案名稱,可實現用戶端檔案上傳和下載。
如下為in_file.jsp的來源程式:
up_file.jsp的來源程式:
dn_file.jsp的來源程式:
三、通過JDBC實現檔案上傳和下載
通過把檔案上傳到BLOB或CLOB列實現檔案上傳,但此法不支援用戶端檔案上傳,所以局限性很大,通過JDBC實現的下載功能也只是在伺服器的本地下載(下載程式沒有列出),所以這種方法僅作為一項技術參考可以,沒有太大實用價值。
Blob_in_stream.jsp程式如下:
Blob_w_stream.jsp程式如下:
上一頁