2012-03-25 59 views
-3

如何使用JDBC代码连接到Windows中的基于Microsoft Access的数据库?具有ms-access的JDBC?

要为Type-1和Type-4类型的驱动程序编写什么语法?

Class.forName(" "); 

上述语法对于我们使用的驱动程序的每种类型都不同吗?我们如何定义和识别我们使用的驱动程序的类型?

如果可能的话那么还可以指定为Oracle也被加载驱动程序的语法..

+1

我试过谷歌,这看起来像一个合理的页面,扫描它:http://www.planet-source-code。 com/vb/scripts/ShowCode.asp?txtCodeId = 2691&lngWId = 2 – 2012-03-25 20:03:01

+1

您需要使用JDBC-ODBC桥请参阅:http://stackoverflow.com/questions/6339055/how-to-connect-java-to-ms -access-2010查看详细信息 – 2012-03-25 20:02:29

+0

con = DriverManager.getConnection(“jdbc:odbc:Driver = {Microsoft Access Driver(* .mdb,* .accdb)}; DBQ =”+ f.getPath()+“// db//JavaAccess.accd”, “”, “”);在上面的连接线中,DBQ意味着什么,然后为什么f.getPath()+“//db//JavaAccess.accd”,“”,“”);写入。谢谢.. – user460920 2012-03-26 03:47:58

回答

6

你可以通过调用使用JDBC-ODBC桥:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") 

然后,您可以使用JDBC数据库URL形式:

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

,或者如果您配置ODBC管理你的数据库,你可以使用它的别名:

jdbc:odbc:northwind 
+5

请注意,JDBC-ODBC Bridge已从Java 8 JDK中移除,并且不受支持(参考:[here](http://docs.oracle.com/javase/7/docs/technotes/) guides/jdbc/bridge.html)和[这里](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6345277))。其他选择包括[Jackcess](http://jackcess.sourceforge.net/)和[UCanAccess](http://ucanaccess.sourceforge.net/site.html)。 – 2014-01-20 20:12:14

+0

'sun.jdbc.odbc.JdbcOdbcDriver'不再适用于Java8 – SaidbakR 2014-09-26 12:54:27

1

JDBC/ODBC驱动程序是一个依赖于平台,只能在Windows操作系统中使用。另外,还有一些与平台无关的JDBC驱动程序,例如:StelsMDB JDBC驱动程序(http://www.csv-jdbc.com/stels_mdb_jdbc.htm

6

我推荐一个名为UCanAccess的跨平台Access JDBC驱动程序。它工作的很好,网站上有很多例子(以帮助原始海报)。