哪里H2的嵌入式数据库存储的数据?

问题描述 投票:43回答:3

所以我最近刚开始学习数据库如何工作,如何使用SQL等。并决定开始实施嵌入式数据库到我的Java应用程序(特别是H2数据库),似乎我被编码在计算机上工作得相当好。

当我搬了不同的计算机,继续我的编码,我注意到,即使我移植了嵌入式数据库文件(H2 - *罐子)我在第一台计算机创建的准备表不上第二个存在。我不知有偏见,通过数据库引擎所产生的实际数据也存储在嵌入式数据库文件。

所以我的问题是,在从数据库中的数据实际存储?是有可能制备其中已经包含的数以千计的记录数据库,并与实际应用分发?

我还要提到的是我连接到第一台计算机上的数据库的方式是通过JDBC连接即网址:JDBC:H2:〜/测试,当我试图连接到数据库中的第二台计算机上它不存在。

谢谢!

java database jdbc h2 embedded-database
3个回答
75
投票

阅读FAQ

到哪里都是在数据库文件存放?

当使用像jdbc:h2:~/test数据库URL,数据库存储在用户目录中。对于Windows,这通常是C:\Documents and Settings\<userName>C:\Users\<userName>。如果基本目录中未设置(如jdbc:h2:./test),数据库文件存储在应用程序启动的目录(当前工作目录)。当使用从开始菜单的H2控制台应用程序,这是<Installation Directory>/bin。基本目录可以在数据库URL进行设置。可以使用一个固定的或相对路径。当使用URL jdbc:h2:file:./data/sample,数据库被存储在目录中的数据(相对于当前工作目录)。如果它还不存在的目录会自动创建。也可以使用完全合格的目录名称(和Windows,驱动器名称)。例如:jdbc:h2:file:C:/data/test


11
投票

h2-*.jar只是数据库引擎(代码)。它是只读的,并没有任何信息存储。在H2中的数据可以存储在存储器中或在一个指定的文件的磁盘。实际上,您指定一个:

JDBC:h2:~/test/

您将在下面test子目录你的home目录找到你的数据库。只需将这些文件复制到另一台计算机和H2上的主目录,只要它使用相同的URL会发现它们。


0
投票

在Windows中,您需要设置JDBC URL这个值:

JDBC URL: jdbc:h2:mem:testdb
© www.soinside.com 2019 - 2024. All rights reserved.