2012-04-10 64 views
3

我對數據庫真的很陌生,這是我在數據庫中使用Java Netbeans 7.1的第一個程序---現在是我們國家的夏天,我是I.T.我們的下一個編程主題是關於數據庫,由於沒有課程,我花時間學習數據庫,爲下一個學期做準備,我把這個網站作爲我現在製作的第一個數據庫程序的指南。如何在Netbeans IDE之外運行數據庫程序?

http://www.homeandlearn.co.uk/java/databases_and_java_forms.html

我做的一切都是在教程中,我究竟做了這樣的計劃。

我做的最後一件事是我清理並編譯程序,因爲我希望程序再次打開netbeans後運行我下載了JRE並將我的database_form.jar製作爲jar可執行文件。 「database_form」是我的Netbeans項目的名稱。我通過在打開任何jar文件時將jw.7中的javaw作爲默認值來實現這一點。

無論如何,這是我如何運行程序。

  1. 在NetBeans IDE中

正在運行的程序使用NetBeans,在我程序工作我首先需要對JavaDB之外 「啓動服務器」。因爲如果我沒有這樣做發生異常「Err。連接到服務器本地主機1527等等」

  1. 運行程序使用jar可執行單獨。

問題是連接仍然存在異常和錯誤。

我想實現什麼?

我想讓程序在沒有打開Netbeans IDE的情況下運行,並去Java DB點擊「Start Server」,我不想再這麼做了。或者我的第二個選擇是使用命令提示符啓動服務器,這樣我只需創建一個bat文件,以便每當打開我的程序database_form.jar時,我只需將bat文件放在我的桌面上並運行它。

第二個問題! 其實,我已經嘗試使用命令提示符啓動服務器的第二個選項,但我忘了我是如何做到的,我只是在某個網站上發現它,我記得的唯一的例外是「因爲數據庫未能中斷服務器。員工缺少員工是我創建的數據庫的名稱

操作系統我使用的是Windows 7的

感謝您對所有的答覆,遺憾的長文本我只是想具體,: D

+0

該程序在Netbeans IDE中成功運行,但不能單獨在jar中運行。 – JustNoobWillingToLearn 2012-04-10 09:00:55

+1

單獨使用jar可執行程序運行程序時會發生什麼異常? – Kartoch 2012-04-10 09:49:33

+0

你鏈接的教程太糟糕了,這是不真實的。當然,它顯示瞭如何連接到數據庫並在Swing UI中設置值,但沒有看到「連接」被關閉,並且UI邏輯與數據庫邏輯混合在一起。它只是試圖將太多的概念組合成一個教程。需要警告的是,它生成的應用程序甚至不是如何在真實世界中構建訪問數據庫的多客戶端應用程序。 – 2012-04-10 10:07:47

回答

2

從你的描述來看,似乎有一些事情讓你感到困惑。

首先,數據庫通常作爲多個客戶端連接到服務器的服務器運行,從而允許它們包含共享。當您啓動Java DB時,您將啓動Java DB數據庫服務器。

也就是說,輕量級數據庫(如Java DB)可以在嵌入模式下運行,如here所述。請記住,您使用derby.system.home屬性指向的目錄將需要包含數據庫文件,否則您需要以編程方式創建該目錄。其次,在IDE之外運行Java應用程序的方法有很多種,但是它們本身不可執行,與Windows中的exe文件的執行方式不同。

最簡單的方法是調用java可執行文件傳遞必要的類路徑和包含main方法的類的名稱。例如,如果我有一個名爲com.example.Application類已被編譯到一個目錄C:\dev\example\classes以下命令行會運行應用程序:如果有外部庫的依賴

java -cp C:\dev\example\classes com.example.Application 

,一樣會有你的情況在Derby JDBC驅動程序,那麼這些將還需要包括在classpath中導致類似:

java -cp C:\dev\example\classes;C:\dev\lib\derby.jar com.example.Application 

有一個在Java啓動here一套完整的文件。

現在,回到罐子裏。就像我說的那樣,罐子不可執行,但有些東西被稱爲「可執行罐子」。這與任何jar相同,除了清單中有一些特殊的補充來指定應用程序入口點或主類和類路徑,如here所述。

一旦主類和類路徑JAR的清單中指定,下面的命令行將運行應用程序:

java -jar C:\dev\example.jar 

可以罐子擴展與Java exe文件並雙擊甚至關聯該jar將導致應用程序啓動(儘管在開發機器上,jar擴展名可能與WinZip相關聯,或者爲了打開該jar而相關)可能更有用。

+0

@尼克....非常感謝!現在我有一點關於數據庫的背景,也許我寧願嘗試在oracle或net bean網站上參考一些教程,但在那裏,更令人困惑的是,如果有人閱讀教程已經有基本的知識。 – JustNoobWillingToLearn 2012-04-10 10:18:55

0

Netbeans中的默認數據庫是Derby/JavaDB。所以,你需要:

  • (當你在Ubuntu安裝它,它可能已經存在,因爲它是與Java綁定)添加用於JavaDB /德比的罐子在我們的類路徑
  • 設置的路徑與JDBC URI保存數據庫的數據

我個人推薦的hsqldbH2使用此:他們支持內存數據庫,用於獨立的項目,沒有持久性數據或測試非常有用的。

0

如果使用窗口,請將管理工具的ODBC數據源添加到您的Java Derby驅動程序並運行jar。

相關問題