2

我正在编写一个从 MS Access 数据库中检索数据的 Java 程序。我的代码如下:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + databaseLocation + databaseName +";selectMethod=cursor; READONLY=true; TYPE=FASTLOAD";

con = DriverManager.getConnection(url);

我正在使用一个基本的 JDBC:ODBC 桥。似乎Type 4驱动程序会更好。但是,我正在编写要在另一台 PC 上使用的程序,我希望他们不必安装任何驱动程序就可以工作。我不记得在我的电脑上安装过任何东西。

谁能告诉我这适用于任何 Windows 副本吗?那是我使用的 JDBC 驱动程序,默认情况下与 Windows 或 Java 或 Access 一起安装?

4

4 回答 4

3

不,Windows 上没有安装 IV 型 JDBC 驱动程序。

我不知道 Access 有免费的 IV 型 JDBC 驱动程序。

JDBC-ODBC 桥可用于 32 位 JVM,但不适用于 64 位。(需要一个不属于 64 位 JDK 的 DLL。)

于 2012-08-06T21:30:32.993 回答
0

据我所知,当他/她说“Windows 上没有安装 IV 型 JDBC 驱动程序”时,duffymo是正确的

hxtt.com/access.html 不是使用 Samba 的 JDBC 4 类驱动程序,也不是 JDBC 4 类驱动程序所需的本机协议。

您需要的是 JDBC 类型 3 驱动程序,它使用自己的网络协议在客户端之间进行通信,在您的情况下,客户端将是远程 PC 和服务器组件。市售的Easysoft JDBC-ODBC Bridge提供了这样的解决方案。您将软件安装在包含 MS Access 数据库的机器上或可以使用访问数据库的 UNC 路径的机器上,然后将 EJOB.jar 文件与 Java 应用程序一起分发到需要访问该数据库的机器上。您可以在 32 位和 64 位 Java 应用程序中使用 Easysoft。

于 2012-08-07T09:26:25.940 回答
0

HXTT 在他们关于 JDBC 是类型 4 的声明中是 AFAIK 不正确的。

HXTT 驱动程序的所有驱动程序都是类型 4。

它使用 SMB 而不是本机协议

错误的。它可以运行于嵌入式模式、客户端/服务器模式、内存模式、映射驱动程序、SMB 协议、http 协议、https 协议和移动操作系统。

如果您选择下载并评估它,您将在http://www.hxtt.com/access.html找到以下信息不是谎言:HXTT Access 包含 Microsoft Access 版本从 95、97、2000、XP、2002、2003、2007 到 2010 的唯一类型 4 JDBC(1.2、2.0、3.0、4.0、4.1)驱动程序包,其中支持事务、嵌入式访问、远程访问、客户端/服务器模式、仅内存数据库、压缩数据库(.ZIP、.JAR、.GZ、.TAR、.BZ2、.TGZ、.TAR.GZ、.TAR.BZ2) 、SMB 数据库(smb)、url 数据库(http、https、ftp)和 java.io.InputStream 数据库。通过嵌入式 Pure Java 数据库引擎,可以在任何带有 JVM 的平台上部署和访问 MS Access 数据库。支持JDBC1.2、JDBC2.0、JDBC3.0、JDBC4.0、JDBC4.1、SQL92,程序员无需特殊编码,DBA可以使用任何Java数据库工具轻松访问本地数据或远程数据。

于 2012-08-11T08:25:10.337 回答
0

http://www.hxtt.com/access/sqlsyntax.html上的许多强大的 SQL 语法(例如 select ... into outfile)或http://www.hxtt.com上的 SQL 函数(例如 GROUP_CONCAT)MS ACCESS 引擎根本不支持/access/function.html 。借助 HXTT Access 的帮助,您可以轻松访问 UNIX/LINUX/MAC OS 的本地 mdb/accdb 文件,无需任何第三方组件。

于 2012-08-11T08:36:18.200 回答