java - 如何将数据和程序集成到单个可执行文件中?

标签 java database executable

最近我创建了一个项目来管理住在宿舍的学生的详细信息,并存储有关他们支付的费用的所有详细信息。

我正在使用 Netbeans IDE 提供所需的 GUI 和 ORACLE10g 以支持数据库。
我想知道如何将这两个组件合并为一个可执行文件。
例如现在,当我将我的程序从一个系统导出到另一个系统时,我必须在新系统中从头开始创建(尽管只有一次)数据库,然后我必须重复所有查询以获得与原始系统相同的数据。
是否有任何其他方法可以自动完成上述任务(即从可执行文件)?
我正在使用 Windows7。

最佳答案

我认为 Oracle 不会允许您在不通过他们的安装程序并接受他们的许可的情况下将 Oracle 数据库和您的程序捆绑在一起。

您可以通过一种方式更改您的应用程序,使您能够静默配置已安装的 Oracle 实例,但 Oracle 的安装仍将是一项单独的任务。

如果 Oracle 实例已经存在,您有两种选择,其中一种不太可能在大型公司(至少我知道的公司)中工作。 如果它需要的表已经存在,您的应用程序可以检查数据库(但即便如此,您也需要知道服务器的名称、架构以及连接到数据库的用户名和密码)。 如果表不存在,您可以从程序内部创建表和索引。但这意味着您的应用程序用来连接的用户需要具有相当高的权限。许多公司不授予此类权限,因为在应用程序的剩余生命周期中它们不是必需的。 另一种方法是创建 DDL 脚本,基本上它们会触发与您的应用程序相同的 CREATE TABLE/INDEX 语句,但它们是由数据库管理员运行的。

如果您真的想 bundle 含模式的应用程序和数据库,您应该选择可嵌入的东西。有很多用于 Java 的数据库系统,您可以在 stackoverflow 上找到它们(H2、Derby,...) 否则,您将永远无法获得“即插即用”的应用程序体验,因为正确设置它需要或多或少的步骤。

然后将您的应用程序变成单个可执行文件是像 Install4J 这样的程序的任务,这里也可以在 - 您猜对了 - 在 stackoverflow 上找到许多类似的产品。

关于java - 如何将数据和程序集成到单个可执行文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31100720/

相关文章:

php - CodeIgniter 以错误的顺序执行数据库查询(可能是并行的?)

Python Selenium GUI 到可执行文件

java - 在 DispatcherServlet 中未找到名称为 'dispatcher' 的 URI [/Spring4MVCHelloWorld/hello/] 的 HTTP 请求的映射

java - 使用 SASL_SSL/PLAIN 连接时出现 Kafka AdminClient 错误

java - 按时间间隔 hibernate 分组

node.js - 在 Mongo GridFS 或 Amazon S3 中存储图像哪个更快?

database - Redis:我可以为不同的键保存超过 1 个值吗?

java - 更改了包名称,现在 AndroidManifest.xml 不起作用

C 将文件写为可执行 ASCII

windows - 备用数据流文件在 Windows 10 上消失