2014-05-08 56 views
0

我有我的本地計算機上創建一個Oracle目錄(C:\ TEMP), 和作爲一個例子,我也把幾個文件,目錄內:如何從PL/SQL的Oracle目錄中獲取文件名?

  • word.docx
  • excel.xls
  • pic.jpeg
  • pdf.pdf

我的問題是我怎麼可以從PL/SQL該目錄中的所有文件名?

謝謝

+0

Oracle目錄是指向物理驅動器上某個位置的指針。不要以爲Oracle 11g中有任何proc讀取物理目錄的內容。它的所有過程和函數都在特定文件上工作 – vishad

回答

1

你不能。 PL/SQL不提供列出目錄內容的功能。

假設您的本地服務器上安裝了Oracle數據庫(通常數據庫無法訪問存儲在客戶端文件系統上的文件),但您可以創建一個Java stored procedure that lists the contents of an operating system directory並從PL/SQL中調用該數據庫。我鏈接的線程提供了這種過程的一個實現。在互聯網上還有其他的實現。

+0

我嘗試了你給出的鏈接,但是當我試圖執行它時,它有錯誤 SQL> exec get_dir_list('c:\ temp \'); begin get_dir_list('c:\ ccint \');結束; ORA-29532:Java調用被未捕獲的Java異常終止:顯示java.lang.NullPointerException ORA-06512:在 「I.GET_DIR_LIST」,1號線 ORA-06512:在2號線 你碰巧知道什麼時候錯誤? 謝謝 – erwin

+0

我猜這個目錄不存在(你的'exec'中的目錄與匿名PL/SQL塊SQL * Plus中的目錄不匹配 - 你必須有在發佈之前編輯了某些內容),或者您沒有授予Tom概述的權限。如果您確信自己遇到問題,請編輯您的問題以發佈一個示例,向我們展示您正在執行的每一步。理想情況下,您可以發佈與Tom發佈的內容完全相同的內容https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:439619916584#3774655970547 –

+0

嘗試關閉追蹤在調用get_dir_list時,在'C:\ temp \'上反斜槓。 –