通过JDBC访问Access(使用ODBC?)

我正在寻找一种在Java App中打开Access MDB文件的方法(使用JDBC)。

一个快速的Google搜索建议我需要JDBC-ODBC Bridge …

这是否意味着我需要配置我想运行应用程序的每个系统,以便为我想要打开的MDB提供ODBC DSN?

还有一个问题(因为我之前从未使用过ODBC):通信是通过某种套接字(客户端/服务器风格),还是通过方法/函数调用(比如嵌入式Derby db)进行的?

1)您不需要使用SYSTEM或USER ODBC DSN配置每个系统来访问所需的MDB。 您仍然可以在JDBC URL中提供所需的所有信息:

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=c:/yourdb.mdb 

但请记住,系统需要安装您正在使用的驱动程序。

2)通信将以ODBC驱动程序通信的方式进行。 如果它打开到服务器的套接字(发生Oracle ODBC连接的方式),它将打开一个套接字。 如果它使用库函数调用,它将通过库函数调用进行通信。

JDBC到ODBC通信使用JNI进行通信。