Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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桌面应用程序中嵌入mysql_Java_Mysql_Database_Embedded Database - Fatal编程技术网

在java桌面应用程序中嵌入mysql

在java桌面应用程序中嵌入mysql,java,mysql,database,embedded-database,Java,Mysql,Database,Embedded Database,我不清楚如何在Java桌面应用程序中嵌入mysql的步骤/配置细节,以便可以通过单个可执行文件安装在任何机器上,这样做可以建立数据库,还可以提供一个exe来运行应用程序。到目前为止,我已经使用netbeans构建了我的应用程序,并使用mysql来建立数据库。plz进一步指导我。mysql不是嵌入式数据库-与之相关的唯一JAR是JDBC驱动程序。它需要一个安装过程,可以通过Java编写脚本,但该过程肯定会在您希望它支持的Java应用程序之外运行。也就是说,您可以关闭Java应用程序,但MySQL服

我不清楚如何在Java桌面应用程序中嵌入mysql的步骤/配置细节,以便可以通过单个可执行文件安装在任何机器上,这样做可以建立数据库,还可以提供一个exe来运行应用程序。到目前为止,我已经使用netbeans构建了我的应用程序,并使用mysql来建立数据库。plz进一步指导我。

mysql不是嵌入式数据库-与之相关的唯一JAR是JDBC驱动程序。它需要一个安装过程,可以通过Java编写脚本,但该过程肯定会在您希望它支持的Java应用程序之外运行。也就是说,您可以关闭Java应用程序,但MySQL服务/守护进程仍将运行

只有服务器是可嵌入的


有嵌入式数据库——SQLite、Firebird——和用Java-HSQL、Derby制作的嵌入式数据库/(不记得以前叫什么了)。我认为SQLServerCompactEdition是可嵌入的,而SQLServerExpress/MSDE不是。我不知道Oracle是否有一个可嵌入的版本….

虽然理论上可能,但这并不容易。标准的MySql发行版假定您希望设置一个通用数据库服务器,该服务器与通过odbc等通信的客户端应用程序分离

您可能会更好地了解“纯java”选项,如HSQL或JavaDB,它们被设计为嵌入java应用程序,并且几乎不需要“设置”


另一种可能是Sqlite,它只需要一个二进制文件和SQLJBBCJAR文件。这也是从头开始设计的,可以嵌入到应用程序中,除了为数据库分配文件外,还需要零管理员。

我强烈建议。这是一个用Java编写的非常快速的嵌入式数据库,我发现它比前面提到的其他一些数据库(如HSQL)更易于使用

编辑:

在H2网站上,你可以看到a等


.

如果您想要一个带有java的嵌入式数据库,那么就使用一个用java编写的嵌入式数据库。我知道ApacheDerby可以嵌入,而且显然也是H2

您需要数据库处理的数据量有多大?

看看。我不记得确切的细节,但我能够在桌面应用程序中嵌入MySQL db,而无需用户单独安装

关键类是com.mysql.management.MysqldResource

举个例子


mysql-connector-mxj-gpl-db-files.jar文件包含所有平台的mysql安装文件。如果您知道哪一个是您的目标平台,您可以从jar中剥离其他平台版本,以减少最终用户的下载大小

有一个版本的MySQL,libmysqld用于嵌入。但我同意你的看法,还有其他更适合这份工作的数据库。由于这是Java,我建议使用HSQL。@Cesar:Thx,我不知道libmysqldcan h2可以管理大量数据,我们可以轻松地对其进行备份吗?备份h2相当简单。上次我尝试它时,H2并没有像MySql那样能够很好地扩展到千兆字节的数据。我认为它应该能够处理5000行,但没有太多麻烦。我正在开发一种会计软件,它必须跟踪支付情况,然后生成相应的报告。现在什么样的嵌入式数据库可以满足我的要求?请提供您期望的数据量的估计。只是大小-1,1000,1000000等-对于表的数量,每个表中的行,每个表的总数据量等。行可以是5k,然后将它们移动到存档…现在你能帮忙吗?对于嵌入式数据库来说,这些数据量应该不会太多。就个人而言,我会尝试使用ApacheDerby,学习数据库表的文件将存储在哪里,这样我就可以将它们放在正确的位置。考虑到这是可能的,正如你所说,你能提到任何教程链接如何配置它,让它变得复杂,或者在桌面应用程序中嵌入mysql吗?怎样?可能吗?对我来说似乎也很有用