2014-09-04 67 views
1

我有一个要求是创建一个数据驱动的Web应用程序的桌面应用程序版本。此Web应用程序当前正在MySql数据库上运行。哪种数据库应用程序能够与脱机数据一起使用?

现在按照我的要求,我需要创建一个桌面版,它将随着数据文件一起从网络应用程序下载,它可以在Windows和Mac平台上无需Internet连接即可工作。

所以现在我不能在这里使用MySql,因为它需要与数据库服务器连接。所以我的问题是,现在在我的桌面版中用作数据库的最佳选择是什么,它可以在没有任何服务器应用程序的情况下与脱机数据文件一起使用?此外,如果从MySql迁移到该数据库花费的工作量很小,那么它将成为加分点。

下面是在考虑采取一些注意事项:

  1. 应该是能够存储BLOB数据。
  2. 它应该有几乎相同的SQL结构在MySQL
  3. 它应该支持的ORM框架如Hibernate
  4. MySQL数据可以在其兼容的结构转移。

请为此建议我最好的选择。

此外,这将是基于Java的解决方案,所以我打算使用JavaFX作为UI框架。如果在Java中有另一个更好的选择,请给我建议。

+0

不考虑'MySql'的特殊原因? – ItachiUchiha 2014-09-04 10:51:52

+0

正如我所提到的,我需要无服务器的数据库,它可以脱机工作,所以我不能考虑MySql。 – 2014-09-04 10:53:16

+2

SQLite,HSQL,Apache Derby ... – 2014-09-04 10:54:07

回答

2

您可以在便携式应用程序中嵌入以下数据库(等等)很容易:

  • H2数据库
  • HSQL数据库
  • Derby数据库

是很常见的做法是使用其中一种是默认的,但也允许用户配置自己的数据库。所以如果他们想使用自己的mysql数据库,他们有这个选项。

1

Stack Overflow Similar question answered here

这些嵌入式数据库允许您使用JDBC,JPA,休眠,所以你能正确地使用同一个数据库通信/交易代码,因为它是在Web应用程序服务器端点,除了新虽然要求...就个人而言,我更喜欢使用HSQL DB。

相关问题