2014-03-03 138 views
5

我進入一些數據庫鎖(SQLite_BUSY)的麻煩,我擔心SQLite不會爲我工作。多個應用程序可以訪問SQLite數據庫嗎?

基本上,我的設置是一個cronjob,它通過一個名爲Dropwizard的框架定期調用一些不引人注目的Java功能和(僅在項目中新增的)Jetty/Jackson/Hibernate REST服務。這兩個'模塊'需要有數據庫訪問 - 也許同時...

那麼,多個應用程序可以訪問SQLite數據庫,還是我需要切換到MySQL?

回答

7

SQLite可以同時處理多個應用程序讀取 db,但不會寫入它。

SQLite FAQ

多個進程可以同時打開同一個數據庫。多個進程可以同時做一個SELECT。但是,然而,只有一個進程可以隨時對數據庫進行更改

+0

感謝您的答案:)你幫了我很多,但我會切換到MySQL。它更適合我的要求。 – nxrd

+0

如果它使用相同的數據庫但是在不同的表上呢? – tiktak

+1

@tiktak然後_「只有一個進程可以進行更改......」_上面引用的規則仍然適用 - 每個表寫入操作都會在發生時全部鎖定**整個數據庫。 SQLite太簡單了,無法執行表鎖。 – 2015-03-23 21:21:51

相關問題