2017-02-17 96 views
1

1在NetBeans,這JDBC_URL正常工作(使用獨立的嵌入式Derby): -數據庫位置

someApp(這是目錄)

| 
src 
    | 
dataBasePackage.myDB 
mainPackage 
    | 
    MainClass.java 

JDBC_URL =「的jdbc:德比: SRC/dataBasePackage/MYDB」;

2-在本地機器名稱的文件夾:「appFolder」包含以下內容: appFolder image

.exe文件工作正常,應用程序啓動...但用戶無法連接到MYDB ...這意味着JDBC_URL是錯的。

我的問題:當我想重新包裝someApp以獲得someApp.jar時,我必須更改JDBC_URL以匹配「appFolder」;我嘗試了多種組合,沒有任何工作!

P.S: 在像JDBC_URL =「jdbc:derby:myDB」這樣的「文件系統」上設置myDB ...雖然安排不同,但也不起作用。

+1

永遠不要引用'src'在你的代碼,也不會在節目之後存在被打包併發布。除非你打算有一個只讀數據庫,否則你不應該將它存儲在'src'中。您最好的選擇是將數據庫存儲在Mac或'{user.home}/AppData/Local/{應用程序名稱}等衆所周知的地方,例如'{user.home}/Library/Application Support/{application name} '在Windows上 – MadProgrammer

回答

0

您可以通過JDBC連接URL和Derby「系統主頁」的規範來控制數據庫文件夾的位置。

這些概念在Derby文檔中都有清楚的說明。要了解相關信息,請從這裏開始:https://builds.apache.org/job/Derby-docs/lastSuccessfulBuild/artifact/trunk/out/devguide/cdevdvlp34964.html

位置可以用相對或絕對方式指定。

如果在連接URL中提供絕對數據庫名稱,則數據庫位於您指定的名稱處。由於它是絕對的,它不依賴於德比系統的家。

如果您在連接URL給出相對數據庫名稱,該數據庫位於相對於德比的系統主頁:http://db.apache.org/derby/docs/10.11/ref/rrefproper32066.html

+0

@Bryan ...謝謝..你的參考文獻簡化了我對我所缺少的幾個概念的理解。但我想知道derby.system.home和String JDBC_URL使用方面的明顯區別! – Mohd