2012-03-25 65 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驅動程序。它工作的很好,網站上有很多例子(以幫助原始海報)。