我正在使用嵌入在我的java应用程序中的H2数据库。我正在创建与服务器的连接:
jdbc:h2:file:/mydata
其中mydata是数据库名称。这似乎告诉数据库连接调用者在与运行的应用程序相同的目录中查找数据库。但它无法在客户端计算机上找到它。为什么?该怎么办?在哪里保存数据库,以便在分发应用程序时不会丢失数据?
答案 0 :(得分:1)
根据您在/
之前不需要mydata
的文档,您需要在同一目录中查找文件
用于连接本地数据库的数据库URL是jdbc:h2:[file:] [path] 。前缀文件:是可选的。如果不使用或仅使用相对路径,则将当前工作目录用作起点。路径和数据库名称的区分大小写取决于操作系统,但建议仅使用小写字母。数据库名称长度必须至少为三个字符(File.createTempFile的限制)。
http://www.h2database.com/html/features.html#embedded_databases
因此,在您的示例中,您尝试连接到根文件夹中名为mydata
的文件。您似乎在.
之前忘记了一个点(/mydata
)。尝试使用以下jdbc:h2:file:./mydata