2014-09-24 25 views
0

我看了很多類似的帖子: querying embedded database in netbeans using derby用於嵌入式系統困境的Java Netbeans Derby數據庫:使用Netbeans還是使用代碼創建數據庫?

而我依然有麻煩了解嵌入式數據庫。

1)我在Netbeans上創建了一個Derby數據庫,我可以創建表,將數據庫鏈接到表單並提交數據並更新記錄,沒有任何問題。

2)出現問題時,我想使程序便攜。我應用清潔和生成,然後複製dist文件夾,並複製庫,數據庫等...但運行程序時不識別數據庫

3)我讀了幾個地方,它是適當的數據庫是由代碼使用類似

字符串主機=創造 「:德比:JDBC //本地主機:1527/EmployeesCreateTrue;創建=真正的」

,而不是建立在Netbeans的服務數據庫...

如果我使用代碼創建數據庫的這個過程,但它沒有出現或不允許我共同與NetBeans無關,我希望我可以修復它以從NetBeans創建表格,而不是從代碼創建表格。

4)我讀手冊「如何導入數據庫從德比到NetBeans的」,它不工作...

問:什麼是創建一個數據庫,表和連接的最佳方式NetBeans最終的應用程序能夠輕鬆移植?

1)使用wizzard在NetBeans上創建數據庫?

2)只是在應用程序上的普通代碼?

回答

0

我不明白你的意思是「數據庫被創建,但它沒有出現」。

我想如果你正好解釋一下,社區可能可以幫助你。

當您認爲您創建了表格時,「表格不存在」有三種常見原因;我在這個答案中解釋了這些情況:Is it necessary to create tables each time you connect the derby database?

請讓我們知道更多關於您的情況的信息,以便我們幫助您更好地理解應用程序的行爲。

+0

你好布賴恩,謝謝你的回答。請原諒我可憐的英語。 如果我使用如下代碼創建數據庫:「String host =」jdbc:derby:// localhost:1527/EmployeesCreateTrue; create = true「」數據庫已創建,我可以在我的Derby數據庫的Windows目錄中查看它,但創建的數據庫未在NetBeans - Services - JB上列出,因此我無法使用NetBeans創建模式和表並填充數據。這是我目前的問題。 – fedeteka 2014-09-24 22:15:48

+0

謝謝澄清!我可以想到幾種可能性:(1)Netbeans使用與您的程序不同的連接URL,或者(2)Netbeans必須執行某種「刷新」才能看到您新創建的數據庫。當你使用Netbeans連接你的數據庫時,你給Netbeans什麼JDBC連接URL? – 2014-09-24 22:28:23

+0

Hello Bryan,對於在NetBeans de JDBC連接URL上創建的數據庫是 顯示Nam:jdbc:derby:// localhost:1527/Employees [root on ROOT] 數據庫URL:jdbc:derby:// localhost:1527 /員工 驅動程序:apache_derby_net 驅動類:org.apache.derby.jdbc.ClientDriver 我沒有找到任何刷新或更新選項,所以我認爲當我打開Netbeans時,Derby目錄被掃描搜索數據庫。我不知道爲什麼用純代碼創建的人沒有列出。 – fedeteka 2014-09-25 21:18:32

0

我不是100%確定這是否是您的問題,但人們似乎對Netbeans和Derby有很多問題似乎來自他們沒有明確設置derby.system.home的事實。如果不這樣做,Derby會將數據庫存儲在當前目錄中,而在使用IDE時(無論是在「服務」選項卡還是您自己的代碼中),與將應用程序的jar作爲獨立程序執行時相比,這可能會有所不同。所以建議(你也可以在手冊中找到)是:總是設置derby.system.home。另一種方法是使用數據庫的完整路徑,但對於部署在不同計算機上的實際應用程序來說,這種情況很少。

+0

Hello Dyre,感謝您的提示,我正在使用Windows 7.我需要在Windows上安裝Derby嗎?我的意思是,如果JAR需要在系統上安裝Derby,那麼它不是完整的嵌入式和便攜式沒有? 我的實際URL是:jdbc:derby:// localhost:1527/Employees我將嘗試使用http://db.apache.org/derby/docs/10.0/manuals/tuning/perf14.html另一個配置。 「Derby JDBC driver。以下示例在Windows上設置derby.system.home 屬性p = System.getProperties(); p.put(」derby.system.home「,」C:\ databases \ tours「 );」 – fedeteka 2014-09-29 14:51:51

0

我有同樣的問題 - 在服務的德比db,但netbeans編碼的程序沒有訪問它。我通過將Derby數據庫(複製粘貼)添加到文件部分中的包來解決它。我使用Windows 7.一旦我這樣做了,我就可以使用多個表(在netbeans忽略輔助表之前,只允許使用主表)。

相關問題