所以我最近才开始学习数据库如何工作,如何使用SQL ect.并决定开始在我的Java应用程序(特别是H2数据库)中实现一个嵌入式数据库,并且似乎在我编写代码的计算机上运行得相当好.

当我转移到另一台计算机继续编码时,我注意到即使我移植了嵌入式数据库文件(h2-*.jar),我在第一台计算机上创建的所有准备好的表在第二台计算机上也不存在.不知何故,我有一种先入为主的 idea ,认为通过数据库引擎生成的实际数据也存储在嵌入式数据库文件中.

所以我的问题是,数据库中的数据实际上存储在哪里?是否可以准备一个已经包含数千条记录的数据库并将其与实际应用程序一起分发?

我还应该提到,我连接到第一台计算机上的数据库的方式是通过JDBC连接,即URL:JDBC:h2:~/test,当我试图连接到第二台计算机上的数据库时,它并不存在.

谢谢!

推荐答案

阅读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

Database相关问答推荐

Mongo DB使用一对多关系离开JOIN

从 GCP 机密管理器中读取 .DER 值并将其保存到 .DER 文件

Mongodb聚合$group,限制数组长度

优雅地处理 EJB/JPA 环境中的约束冲突?

安装 SQL Server Management Studio Express后提示:Cannot open user default database. Login failed.

MySQL解释更新

用于为 Android 设计 SQLite 数据库的开发人员工具

操作错误:FATAL: database "django" does not exist

Membase 和 Couchbase 有什么区别?

外键可以作为主键吗?

某些网站不允许在密码中使用句点是否有原因?

如何从 SQLite 数据库中读取数据?

SQL查询7天前的数据

更新列的子字符串

在 SQL Server 2005 中将数据库从一个驱动器移动到另一个驱动器的正确方法是什么?

谁有维基数据库?

我如何做大于/小于使用 MongoDB?

游戏中使用什么样的数据库?

使用带有联合和 CLOB 字段的 Select 时出现错误 ORA-00932

分离实体和被管理实体