我一直試圖讓這個工作兩天,並嘗試了所有我能找到的建議。唉,迄今爲止沒有成功。我怎樣才能指定一個RELATIVE JDBC SQLite url(路徑?)
這就是我想要做的:我正在構建一個小的(java swing)桌面數據庫應用程序。我使用NetBeans 7.0和SQLite,發現JDBC驅動程序從http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC罰款,只要工作,我指定的JDBC URL的絕對路徑:
jdbc:sqlite://Users.../lib/db/ithildin.db
這裏是它的外觀在NetBeans的服務 - >數據庫標籤中,使用絕對URL:
打開連接,然後將表節點示出了可用的表。
但是因爲我打算將這個應用程序分發給其他人,所以使用絕對路徑是行不通的。從我在這裏和那裏閱讀的內容看,似乎也可以指定一個到SQLite數據庫文件的相對路徑,但我無法讓它工作,無論我嘗試什麼。
奇怪的是,當我在Netbeans中創建連接時,最初似乎工作時,我將sqlite jdbc驅動程序jar和sqlite數據庫文件放在/ lib(位於Netbeans項目目錄中)的/ db子目錄中, :
,當我打開新的連接它認爲錯覺 -
但是當我打開「表」節點事實出是空的:
與之相似,此連線似乎有效,但只要我嘗試使用它 - 例如在「生成實體類從數據庫」它告訴我,有沒有任何該數據庫中的表。
有沒有人知道一個出路呢?我非常感謝。
Luthien的
嗨,非常感謝!我檢查了'ithildin-13-11-11.db'的空副本,實際上,我發現它 - 儘管不在Netbeans安裝目錄中,但在項目根目錄中。這可能是因爲我在Mac上,「Netbeans安裝目錄」是一個打包的.app文件。我會嘗試一下PU中相對路徑的建議,以及DB連接選項卡中的絕對路徑。再次感謝!! –
我剛剛嘗試過,它的工作原理與您所描述的完全相同(除了它似乎沒有安裝目錄) - 事實證明,數據庫連接選項卡中的相對路徑不起作用,但它在PU中工作persistence.xml中。如果應用程序都正常,應用程序似乎會自動選擇工作連接,否則它會選擇正確的連接。所以這似乎工作正常,就像這樣:我希望它仍然在部署的應用程序:) –
很高興我能提供幫助。不要忘記將此答案標記爲已接受,以便其他人知道您的問題已得到解答。 –