2012-01-11 34 views
1

我創建了一個簡單的桌面應用程序,它使用netbeans中的嵌入式數據庫(derby)。將兩個條目添加到ide中的表中並再次運行後工作得很完美。但是當我雙擊在IDE外部的可執行jar文件顯示一個空數據庫可能是什麼原因?我也想知道如何使這個運行在客戶端machine.I嘗試添加jar和lib文件到一個文件夾,並將其轉換爲rar文件,但我沒有找到解壓後的jar文件。我是新來的任何幫助將是提前appreciated.thanks打包並部署帶有嵌入式數據庫的java桌面應用程序

回答

2

還有爲什麼你會發現,你會意外地得到一個空數據庫中的兩個常見的原因:

  1. 你是說「;創建=真正的」,並使用相對數據庫名稱,這意味着如果您授予Derby權限以創建新數據庫(如果該數據庫不存在),然後您的Derby系統主目錄正在從運行更改爲運行,那麼您每次都會結束創建數據庫的新副本,不同nt當前目錄。

  2. 當您連接到數據庫時,您正在使用不同的用戶名。由於您連接的用戶名隱式指定了您的表所在的架構,因此使用其他用戶名會導致您看到一組完全不同的表,或根據查看的方式看到一個空的數據庫。

關於jar和rars等,關鍵的是要正確管理你的CLASSPATH。您需要在運行時在您的CLASSPATH中包含Derby代碼。有很多種方式可以實現這一點,所以你需要非常明確地瞭解你的情況,以便其他人給你很多幫助。

+0

謝謝你,這是一個教訓..我可以打包db文件以及jar文件嗎?因爲正如你在第一種情況下所說的那樣,當db文件與同一文件夾中的jar一起使用時,db工作正常 – j2me 2012-01-12 07:07:31

+0

是的,你可以預先用你的應用程序打包一個數據庫。具體取決於數據庫是隻讀還是可更新。如果是隻讀的,請從這裏開始:http://db.apache.org/derby/docs/10.8/devguide/cdevdvlp19700.html如果數據庫是可更新的,那麼您需要讓安裝過程將其解壓縮到啓動時的本地文件夾。德比用戶郵件列表是聯繫已完成此類或類似事情的其他開發人員的好方法。 – 2012-01-12 14:28:23

相關問題