2012-02-15 100 views
0

我開發了一個帶有java db數據庫的應用程序。當我關閉netbeans IDE並顯示消息「Error connected to server Localhost on port ...」時,我無法訪問數據庫記錄。數據庫是:在NetBeans外部訪問Java數據庫

String host="jdbc:derby://localhost:1527/Employee;create=true"; 
String user="admin"; 
String pass="admin"; 
con=DriverManager.getConnection(host,user,pass); 

如何解決問題?

回答

0

推測您的Derby數據庫是在NetBeans中託管的?你需要創建一個獨立的數據庫。

+0

我下載了一個apche的Derby數據庫,並希望mode.How我創建一個新的數據庫連接到嵌入表單上我的Java應用程序,而不是服務器? – Xcoder 2012-02-16 07:51:48

0

可以使用用於JavaDB(又名德比)通過連接到一個JavaDB Network Server或者當你的應用程序打開的DB文件本身使用它as an embedded DB

當前,您的應用程序正在連接到由NetBeans啓動的網絡服務器,因爲您的URL告訴連接到本地主機上的端口1527,即您的系統。

你需要做的是告訴你的應用程序使用JavaDB作爲嵌入式數據庫,即它應該管理數據庫本身,而不是讓Netbeans去做。你可以這樣做只是將網址更改爲類似:

jdbc:derby:Employee;create=true 

您可能需要根據在數據庫文件相對於應用程序的工作目錄存儲來調整該URL。

只有一個應用程序可以一次打開數據庫。所以當你這樣做時,NetBeans將無法打開數據庫,並且如果NetBeans打開了數據庫,你的應用程序將無法打開它。因此,您可能會發現您想要將NetBeans重新配置爲DB客戶端。

1

Netbeans自動啓動Derby服務器;你可以在「服務」標籤(Ctrl-5)中看到。

如果您不使用Netbeans,則必須手動啓動數據庫服務器;請參閱doc

0

我猜NetBeans有一個嵌入式數據庫實例。

嘗試使用

 jdbc:derby:/MyFolder/MyDatabase/Employee;create=true 

 jdbc:derby:C:\MyFolder\MyDatabase\Employee;create=true 

,如果你不需要從多個應用程序訪問數據庫。

0

處理這些問題是創建批處理文件的最簡單的方法.. 首先建立的你的java數據庫程序..棘手的部分是要啓動服務器。 jderby是一臺服務器,因此需要啓動它。這就是爲什麼您要在netbeans中啓動服務器的原因。所以從「http://db.apache.org/derby/releases/release-10.8.2.2.html」下載db derby文件。在下載這些文件後,將netbeans項目複製到這些db jderby文件中..從數據庫文件夾中將它們保存起來,並將它們粘貼到db jderby文件中..現在打開記事本並輸入 @echo 啓動(PATH) 啓動(PATH) 第一個路徑採用名爲start network server的文件的路徑。蝙蝠 第二路徑把你的主項目的jar文件的路徑。 現在你的記事本保存爲SETUP.BAT和之後運行批處理文件..和UR程序將啓動服務器,並同時運行你的應用程序... 注意:您可以設置使用不同的名字,任何你所選擇的但延長的蝙蝠必須是可用