Java嵌入式数据库到独立数据库

Java嵌入式数据库到独立数据库,java,database,h2,Java,Database,H2,它是一个桌面应用程序(金融应用程序) 我想在用户脱机时将所有数据保存在嵌入式数据库(H2数据库)中,当用户联机或单击某个按钮时,将所有新数据保存在独立数据库(我的SQL server)服务器上。 现在我有点迷路了。 有人能描述一下这应该怎么做,或者这是可能的。基于假设,因为您的问题似乎指向以下要求, 您有本地H2数据库 mysql可能在其他网络上 若您在应用程序上保存了一些数据,那个么将转到h2数据库 连接到internet的数据库中,数据应该进入mysql数据库,该数据库与运行应用程序的h2本

它是一个桌面应用程序(金融应用程序)

我想在用户脱机时将所有数据保存在嵌入式数据库(H2数据库)中,当用户联机或单击某个按钮时,将所有新数据保存在独立数据库(我的SQL server)服务器上。 现在我有点迷路了。
有人能描述一下这应该怎么做,或者这是可能的。

基于假设,因为您的问题似乎指向以下要求,

  • 您有本地H2数据库
  • mysql可能在其他网络上
  • 若您在应用程序上保存了一些数据,那个么将转到h2数据库
  • 连接到internet的数据库中,数据应该进入mysql数据库,该数据库与运行应用程序的h2本地数据库位于不同的主机上
  • 解决方案:

    您需要添加复制工具,将数据从一个数据库复制到另一个数据库

    请参阅nice工具之一:


    如果您有任何其他要求,请告诉我。另外,请在提出问题时提供足够的细节。谢谢。

    使用replicator工具将数据从H2 DB复制到Mysql DB是一种方法

    实现这一点的另一种方法是,您可以在客户机上的某个位置将相同的数据写入文件中,并编写一个调度程序来检查套接字的心跳,如果ping到服务器成功,您可以读取文件并将数据上载到实际的数据库服务器。另外,编写自己的调度程序和数据上传程序将给您更多的控制权

    任何replicator工具的另一个问题是数据类型兼容性


    不过,如果你想继续使用任何复制工具,你可以看看Wonder Replicator-

    只是想了解一下,比如离线是什么意思。是后端服务器关闭了,还是数据库服务关闭了。你能详细解释一下,准确回答你的问题吗?这不是一个web应用程序。这是一个PC应用程序。所以脱机意味着,用户不能连接到internet。是的,这正是我的意思,但h2数据库不是服务器数据库。这是一个嵌入式数据库(就像sqlite一样)。在其中一个项目中完成了sqlite到sqlite的复制。请参阅symmetricds支持的数据库:不,我没有使用它