2012-08-06 109 views
2

我在寫一個從MS Access數據庫中檢索數據的Java程序。我的代碼如下:Windows中是否默認安裝了任何JDBC驅動程序?

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橋。看起來4型車手會更好。但是,我正在編寫程序在不同的PC上使用,我寧願他們不必安裝任何驅動程序就可以工作。我不記得在我的電腦上安裝任何東西。

任何人都可以告訴我這將與任何Windows副本工作?那是我默認使用的安裝了Windows或Java或Access的JDBC驅動程序?

+4

只需將JDBC驅動程序與您的程序一起運輸?對於JDBC驅動程序,「安裝」實際上是一個非常大的詞。只要在Java應用程序的運行時類路徑中有JAR文件就足夠了。這是編輯Java應用程序的啓動(批處理)命令的最高境界。 – BalusC 2012-08-06 21:33:23

+0

好有意思。我會考慮一下。謝謝。 – Russell 2012-08-06 21:34:57

+2

Access肯定沒有免費的Type4驅動。然而有一些商業的。我*認爲* hxtt驅動程序比其他驅動程序更受歡迎(但不確定,因爲我從來沒有使用它,我只是看到它被更頻繁地提及):http://www.hxtt.com/access.html – 2012-08-06 21:45:50

回答

3

不,在Windows上沒有安裝IV類JDBC驅動程序。

我不知道用於Access的免費IV型JDBC驅動程序。

JDBC-ODBC橋可用於32位JVM,但不適用於64位。 (A DLL是必需的,是不是64位JDK的一部分)。

+0

非常感謝。我的天啊,你不會相信這是多麼難以發現。我一直在谷歌搜索幾個小時:/ 再次感謝。 – Russell 2012-08-06 21:32:26

0

duffymo是正確的,因爲據我所知,當他/她說,「有在Windows上安裝任何類型IV JDBC驅動程序」

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。

+0

嗯,在hxtt頁面上,我鏈接它說:「* HXTT訪問包含唯一的**類型Microsoft ** * 4 ** JDBC驅動程序包」 – 2012-08-07 09:42:49

+0

HXTT AFAIK在他們的關於JDBC是類型4的聲明中是不正確的。他們提供一個JDBC類型2驅動程序,其中數據庫通過Samba共享鏈接到該驅動程序。 這不是JDBC類型4,因爲它沒有內置到JDBC驅動程序中的本地協議。 JDBC 4類驅動程序的一個很好的例子就是SQL Server的Microsoft JDBC驅動程序。這使用TDS與SQL Server進行通信。 – 2012-08-07 10:03:50

+0

謝謝。我知道類型4是什麼意思。因爲我從來沒有使用過hxtt,所以我需要依賴於你的經驗,即hxtt不是Type 4;) – 2012-08-07 10:10:11

0

HXTT是他們大約有JDBC聲明AFAIK不正確的類型4.

HXTT驅動程序的所有驅動程序類型4

它使用Samba和不是本地協議

錯了。它可以運行於嵌入模式,客戶端/服務器模式,內存模式,映射驅動程序,samba協議,http協議,https協議和移動操作系統。

如果您選擇下載並評估它,你會發現在http://www.hxtt.com/access.html以下信息是不是騙人: HXTT訪問包含的唯一類型4 JDBC(1.2,2.0,3.0,4.0,4.1)驅動程序包支持事務,嵌入式訪問,遠程訪問,客戶機/服務器模式,僅內存數據庫,壓縮數據庫(.ZIP,.JAR等)的從95,97,2000,XP,2002,2003,2007到2010的Microsoft Access版本。 .GZ,.TAR,.BZ2,.TGZ,.TAR.GZ,.TAR.BZ2),SAMBA數據庫(smb),url數據庫(http,https,ftp)和java.io.InputStream數據庫。通過嵌入式純Java數據庫引擎,可以將MS Access數據庫部署到任何帶有JVM的平臺上。使用JDBC1.2,JDBC2.0,JDBC3.0,JDBC4.0,JDBC4.1和SQL92支持,程序員不需要特殊編碼,DBA可以使用任何Java數據庫工具輕鬆訪問本地數據或遠程數據。

相關問題