Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java h2嵌入式数据库未嵌入/嵌入数据库的备选方案_Java_Mysql_Sql_Database_Eclipse - Fatal编程技术网

Java h2嵌入式数据库未嵌入/嵌入数据库的备选方案

Java h2嵌入式数据库未嵌入/嵌入数据库的备选方案,java,mysql,sql,database,eclipse,Java,Mysql,Sql,Database,Eclipse,因此,我在另一个线程上得到了一条评论,该线程将h2用于java应用程序中的嵌入式数据库。基本上,我需要在另一台计算机上运行.jar文件,而不必在他们的计算机上安装sql server或h2。它必须能够使用jar运行并自动访问数据库,因此db必须随jar一起提供 我该怎么做?我正在尝试使用h2 带有h2的应用程序将在eclipse IDE关闭的情况下在我的机器上工作,但只要我将jar文件与所需库(如h2)的子文件夹放在一起并运行它,它就什么也不做 因此,我从cmd运行了jar文件,它给我的错误是找

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

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

带有h2的应用程序将在eclipse IDE关闭的情况下在我的机器上工作,但只要我将jar文件与所需库(如h2)的子文件夹放在一起并运行它,它就什么也不做

因此,我从cmd运行了jar文件,它给我的错误是找不到表。那么,如何将数据库嵌入到应用程序中

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

请注意,我对Java比较陌生


提前感谢

如果找不到数据库,您将提供数据库配置以创建数据库,然后在启动时运行create TABLE并插入SQL脚本以在启动时构建数据库。我已经在德比身上做了很多,所以我会用它作为参考点

要做到这一点,你需要附加;在数据库url上创建=true,如下所示

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

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

但是如何通过workbench、phpMyAdmin或其他程序更新数据库,或者我必须通过h2.jar来完成吗?有没有办法从h2.jar复制整个数据库?当我得到数据库时,只是缺少了表。您可以使用SquirrelSQL与数据库交互。它是专门为嵌入式数据库设计的客户端。如果缺少表,只需运行所需的创建表sql。我知道我可以运行创建选项卡sql,但数据库中已包含所有信息,如何在数据库已包含所有信息的情况下部署应用程序?您的确切意思是数据库中已包含所有信息,如何在数据库已经包含所有信息的情况下部署应用程序??这取决于您打算如何安装它。如果您有一个安装程序,这可以作为该过程的一部分使用类似的方法来完成。嵌入式数据库听起来像是一种方式,除非您希望在每次部署时都必须执行数据库还原。