簡體   English   中英

在 Google-App-Engine 中使用 HSQLDB

[英]Using HSQLDB in Google-App-Engine

在我將在 google-app-engine 上運行的輕型網絡應用程序中,我想使用 HSQLDB。

在啟動 HSQLDB 時,我使用的是 url,如下所示:“jdbc:hsqldb:file:./database/”。

在本地 tomcat 上一切順利,但在 google-app-engine 我得到以下異常;

Constructor threw exception; nested exception is com.hp.hpl.jena.sdb.SDBException: SQL Exception while connecting to database: jdbc:hsqldb:file:./database/appname : File input/output error ./database/appname.properties java.security.AccessControlException: access denied (java.io.FilePermission ./database write)

有沒有人可以提供線索來定義正確的 url 以在 google-app-engine 上運行 HSQL 數據庫?

我認為 GAE 不允許您在此級別編寫文件。

您可以使用 HSQLDB Memory 數據庫,該數據庫不需要文件,但在應用重新啟動時會被刪除。

你為什么不使用JDO?

在 GAE 中你不能寫入文件,這顯然意味着 HSQLDB 不能在 GAE 上工作。 正如 Mikhas 建議的那樣,您可以在 Memory 中使用 HSQLDB,它不會在任何地方持久化。 如果您使用 GAE,除了使用 JDO 或 JPA 之外別無選擇。 Appengine 已針對其進行了優化。 但將來我們可能會支持在應用引擎中使用關系數據庫。 但就目前而言,答案是否定的。

(也是開源 Java) H2 數據庫可能會工作。 請參閱項目H2GAE (請不要它是實驗性的)。 但是,我自己沒有對此進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM