如何在 Friends 计算机上运行带有 ms 访问数据库的 java 应用程序?它在我的电脑上运行良好

Posted

技术标签:

【中文标题】如何在 Friends 计算机上运行带有 ms 访问数据库的 java 应用程序?它在我的电脑上运行良好【英文标题】:how to run java application with ms access database on Friends computer? it works fine on my computer 【发布时间】:2014-07-25 11:40:52 【问题描述】:

我开发了一个超市 java 应用程序(我没有使用任何 IDE)并将其转换为 jar,以在我的计算机上运行良好的 exe。问题是程序(.exe)在我朋友的计算机上打开,但并没有真正继续登录,这表明它没有链接到 ms access 数据库。我不知道如何将应用程序链接到数据库。如果有任何帮助,我将不胜感激。

【问题讨论】:

你朋友的电脑有没有设置数据源? Access 数据库在哪里运行?在你的机器上? Access 专为桌面使用而设计。如果您想连接到服务器上的数据库,我建议您使用 SQL Server(如果您想坚持使用 Microsoft)或 mysql 之类的东西 - 旨在以远程方式在服务器上运行的东西。这两台机器是在一个公共网络上,还是你依赖公共互联网? 【参考方案1】:

如 cmets 中所述,MS Access 旨在用于单个桌面计算机,因此必须安装 MS Access,以便 Java 应用程序可以在那里使用 MS Access 数据库。

这与某些 MS 语言不同,它们可以在其机器上使用 MS Access 数据库——创建、访问、更改等——而无需安装 MS Access 程序。

你没有说你使用什么库——为了使用 Access 数据库,你的 Java 代码必须调用一些使用 MS 共享库(DLL 文件)的东西,它提供了一种使用数据库的方法。 Java代码理论上可以只读取数据库二进制格式,但我敢肯定你没有这样做。

因此,如果您希望此应用程序使用不同机器上的数据库,则需要将数据存储在允许网络访问的系统中——SQL 服务器、Derby 以及 Access 之外的其他东西。

如果您希望您的应用程序在运行它的任何台式机上都拥有自己的数据库,那么您可以为每台此类计算机提供 MS Access 库 - 必然会花费一些东西 - 或者您可以更改您的程序以使用不同的数据库。实际上,Java 运行时本身内置了完整的数据库功能,它基于一个曾经称为 Derby 的系统。它可以作为服务器运行,也可以作为单个程序在单个机器上使用的“嵌入式”数据库运行;后一种用法可能最接近您已经做过的。

您说您“不知道如何将应用程序链接到数据库”很奇怪;我本来希望您首先根据您为访问它而编写的代码有一些想法。

【讨论】:

-1 这个答案包含几个不准确之处,包括:(1)“必须安装 MS Access...” - 不,没有必要安装完整的 Access 应用程序来操作 Access数据库。 (2) “你可以……为每台这样的机器提供 MS Access 库——一定要花一些钱”——不,Access 数据库引擎(适用于 Windows,来自 Microsoft)或 UCanAccess(跨平台)都可用于免费。 很公平 - 我的意思是数据库引擎,但我确实将它命名为应用程序。我不知道跨平台包,这是很好的信息。事实上,要使用 Access,他需要在每台机器上放一些东西。他不必使用德比。 谢谢,现在我了解了 ms 访问的问题,这对我很有帮助,这就是为什么我将数据库更改为 H2 数据库并希望它能解决我将 .exe 链接到数据库的问题?跨度> 我不确定您所说的“将 .exe 链接到数据库”是什么意思;这句话可以有几种含义。数据库是具有特定组织的一个文件或一组文件——Access、Derby 和 H2 各有自己的组织。您的程序显然是由一个几乎可以肯定以 jar 文件开头的工具制成的 EXE 文件,其中包含访问特定类型数据库的代码。在您的代码中,您指定包含数据的文件的位置,并使用能够理解其使用的文件格式的库。如果这不能回答您的问题,请澄清。

以上是关于如何在 Friends 计算机上运行带有 ms 访问数据库的 java 应用程序?它在我的电脑上运行良好的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 psexec 向远程计算机上启动的 cmd.exe 提供多个命令

如何导入大型 MS SQL .sql 文件?

本计算机上的mssqlserver服务启动后又停止了

如何使本地域在局域网上的所有计算机上可用

在本地计算机上运行codepen项目的问题

MS Access VBA参考