gpt4 book ai didi

java - h2 嵌入式数据库不嵌入/嵌入数据库的替代方案

转载 作者:行者123 更新时间:2023-11-30 23:13:29 25 4
gpt4 key购买 nike

所以我在另一个线程上收到一条评论,要在我的 Java 应用程序中使用 h2 作为嵌入式数据库。基本上,我需要 .jar 文件在另一台计算机上运行,​​而不必在他们的计算机上安装 sql server 或 h2。它必须能够使用 jar 运行并自动访问数据库,因此数据库必须与 jar 一起提供。

我该怎么做?我正在尝试使用 h2。

带有 h2 的应用程序可以在我关闭 eclipse IDE 的机器上运行,但是一旦我放入 jar 文件(带有所需库的子文件夹,例如 h2)并运行它,它什么都不做。

所以我从 cmd 运行了 jar 文件,它给我带来了找不到表的错误。那么我如何将数据库嵌入到应用程序中呢?

我看到另一个项目有一个 Microsoft Access 数据库文件和他的应用程序文件。是否可以在 thge 应用程序的根目录中有一个数据库文件并使用它,然后可以在 Microsoft access、phpmyadmin 或 workbench 中对其进行编辑?请就此提出建议,因为我不知道该怎么做。

请注意,我对 Java 比较陌生。

提前致谢

最佳答案

如果找不到数据库,您将发送数据库配置来创建数据库,然后在启动时运行 CREATE TABLE 并插入 SQL 脚本以在启动时构建数据库。我在 Derby 中做了很多这样的事情,所以我将把它用作引用点。

为此,您需要将 ;create=true 附加到您的数据库 url 上,如下所示。

<connection-url>jdbc:derby:C:/mydb;create=true;characterEncoding=utf-8</connection-url>

这将确保数据库已创建。您现在知道数据库已经创建,您可以通过发送一个 .sql 文件或类似的东西来构建结构和内容,如果表不存在,这些文件将在启动时针对它运行。这为您提供了额外的功能,您可以在每次发布应用程序时真正轻松地部署它,因为它将能够在第一次部署时检查表是否存在,并在需要时创建它们。

关于java - h2 嵌入式数据库不嵌入/嵌入数据库的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18911878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com