2011-08-12 51 views
3

我試圖找到我自己的,但無濟於事。我正在編寫一個Java應用程序,它將通過Zentu的SQLiteJDBC使用嵌入式SQLite數據庫。SQLiteJDBC可以在沒有安裝SQLite的情況下工作嗎?它可以初始化數據庫表嗎?

我做了以下假設並需要確認所有這些,以及我錯了,澄清。

  • 對於我的Swing應用程序正常運行,我需要安裝我的應用程序位於每臺機器上的SQLite,而不僅僅是「myEmbeddedDatabase.db」文件
  • 最佳做法將決定對我來說,在安裝/部署時間,運行一個shell腳本來調用sqlite並運行一個創建表格的init/init腳本等,以便我的應用程序通過SQLiteJDBC使用;我想這是因爲它看起來並不像SQLiteJDBC具有讀取* .sql文件並運行它的能力(當然,至少在沒有我做了很多編碼!)

感謝任何人誰可以幫助澄清這些項目對我來說!

回答

3

1)不,你需要的只是對java驅動的引用。這是嵌入式數據庫系統的吸引力。您通常會在完整安裝的數據庫系統中找到的某些功能缺失(如網絡支持),但作爲交換,您不必在客戶端計算機上安裝任何內容。

2)最好的辦法是在開發時簡單地創建數據庫模式(表格定義,但不包含內容)。這樣,您可以簡單地將其作爲資源部署到您的應用程序中,並在您的應用程序第一次運行時將其複製到合適的文件夾中。或者,java驅動程序將允許您在代碼中創建數據庫(並向其添加表)。無論哪種方式,如果您更新應用程序,則需要編寫手動代碼來檢查數據庫的版本,並根據需要添加或刪除列/表來更新模式。

0

對於我的Swing應用程序正常運行,我需要安裝的每個 機器,我的應用程序位於SQLite的,而不僅僅是 「myEmbeddedDatabase.db」文件

號你不不需要那樣做。 SQLite是爲此編寫的。它不是一個需要安裝的完整數據庫系統(如MySQL)。將jdbc驅動程序與應用程序鏈接後,就可以在任何地方使用已編譯的java可執行程序。

相關問題