Oracle三種上傳檔案技術

來源:互聯網
上載者:User

正在看的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程式如下:

上一頁

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.