2011-12-27 102 views
0

我正在使用JDBC在數據庫中創建一個目錄對象。在Oracle 11g中使用相對路徑創建目錄對象

即將目錄「dir」創建或替換爲'c:\ temp';

我的問題是:

  1. 我要傳遞的路徑在運行時
  2. 或者至少指定相對於當前的一個路徑。我的意思是:創建或替換「dir」爲'./../tempdir'

有沒有辦法做到這一點,或者是指定絕對路徑的唯一出路。

+1

爲什麼你想要相對路徑?你確定你知道他們會有什麼關係嗎? 「當前路徑」是什麼意思?這些是數據庫服務器上的文件路徑,不受您運行客戶端的位置的影響。 – Thilo 2011-12-27 07:31:04

+0

我正在使用Oracle捕獲並在我的App.By相對路徑中重放,我的意思是生成的捕獲文件存儲在App文件夾內的目錄中。通過,當前路徑我的意思是我的.java文件的路徑,我正在寫「創建目錄」語句 – Ravi 2011-12-27 07:50:41

+1

由於非常合理的原因,Oracle不允許動態操作DIRECTORY對象。通過閱讀我對另一個SO線程的迴應,獲取完整的瘦身:http://stackoverflow.com/questions/8147756/make-directory-part-dynamic-in-call-to-bfilename-function-in-oracle-10g/8149548 #8149548 – APC 2011-12-27 09:38:47

回答

1

Oracle Doc

路徑名指定全路徑名操作系統目錄下的文件所在的服務器的 的

我認爲這是因爲沒有「當前目錄」這樣的東西。 (你在數據庫中,而不是命令行:))

你可以發佈一個問題與你的問題,你會從社區獲得幫助。

+3

也注意:*在服務器上* – Thilo 2011-12-27 07:58:05

+0

請注意,您可以使用相對路徑,相對於由'DIRECTORY'指定的絕對路徑。當你使用'BFILE'定位符='DIRECTORY' +相對路徑時,就是這種情況。 – lkuty 2011-12-29 14:40:26

+0

你有沒有試過? [here](http://docs.oracle.com/cd/B14117_01/server.101/b10759/functions011.htm#i76871)表示應該是Directory +文件名 – 2011-12-29 14:47:08