Windows中是否安装了任何JDBC驱动程序?

时间:2012-08-06 21:26:47

标签: java sql ms-access jdbc odbc

我正在编写一个从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副本一起使用吗?那是我默认使用Windows或Java或Access安装的JDBC驱动程序吗?

4 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

duffymo 是正确的,因为他/她说“Windows上没有安装IV类型的JDBC驱动程序”

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

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

答案 2 :(得分:0)

  

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

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

  

它使用Samba而不是本机协议

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

如果您选择下载并评估它,您会在http://www.hxtt.com/access.html找到以下信息:不是谎言: HXTT Access包含从95,97,2000,XP,2002,2003,2007到2010的Microsoft Access版本的唯一类型4 JDBC(1.2,2.0,3.0,4.0,4.1)驱动程序包,它支持事务,嵌入式访问,远程访问,客户端/服务器模式,仅内存数据库,压缩数据库(.ZIP,.JAR,.GZ,.TAR,.BZ2,.TGZ,.TAR.GZ,.TAR.BZ2),SAMBA数据库(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数据库工具轻松访问本地数据或远程数据。 / p>

答案 3 :(得分:0)

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