64位jdk连接32位的mysql_在64位客户端使用32位的ODBC配置
這個場景比較特殊,是一個客戶遇到的問題觸發(fā)我寫的這篇文章。數(shù)據(jù)庫服務器通常安裝的都是64位的操作系統(tǒng)和64位的數(shù)據(jù)庫軟件。客戶端使用的操作系統(tǒng)和客戶端程序復雜度遠比服務器要多很多,安裝的客戶端操作系統(tǒng)既可能是32位,也可能是64位,在32位的操作系統(tǒng)只能安裝32位的數(shù)據(jù)庫客戶端軟件。在64位的客戶端操作系統(tǒng)可以安裝32位和64位的數(shù)據(jù)庫客戶端軟件,但是如果客戶端使用pl/sql,那么只能安裝32位的Oracle 數(shù)據(jù)庫客戶端(pl/sql不支持64位的Oracle客戶端),如果開發(fā)的軟件只支持32位平臺的,那么在64位的客戶端操作系統(tǒng)可能也只能安裝32位的Oracle數(shù)據(jù)庫客戶端軟件,通過32位的Oracle 數(shù)據(jù)庫客戶端軟件連接到64位的數(shù)據(jù)庫。
這個項目要實現(xiàn)這樣一個目的,開發(fā)的Java程序(C/S架構)只支持32位,那么必須通過配置32位的ODBC(必須安裝32位的Oracle客戶端,開發(fā)的Java程序無法加載64位的Oracle數(shù)據(jù)庫客戶端驅動)連接到64位的數(shù)據(jù)庫環(huán)境,該程序必須確保在32位的客戶端和64位的客戶端操作系統(tǒng)都能正常使用,32位的客戶端下運行是沒問題的,這里討論的就是在64位客戶端下運行,通過32位ODBC連接數(shù)據(jù)庫遇到的問題。討論場景的服務器、客戶端配置如下:
服務器操作系統(tǒng):Redhat Enterprise 5.4 x86_64bit
數(shù)據(jù)庫服務器:Oracle 11gR2 RAC Database 64bit
客戶端:Win7 旗艦版 x86_64bit
Oracle Database客戶端:Oracle 11gR2 Database x86
Java JDK:jdk-6u31-windows-i586
下面對遇到的問題及解決方法進行討論:
1.數(shù)據(jù)庫支持的操作系統(tǒng)版本。
數(shù)據(jù)庫運行在Linux環(huán)境,客戶端都運行在Windows平臺,首先明確Oracle數(shù)據(jù)庫支持的Windows平臺。
從上面的文檔中可以看出Oracle的11gR2數(shù)據(jù)庫產品是完全支持Windows7的專業(yè)版、企業(yè)版和旗艦版,所以在這樣的平臺安裝數(shù)據(jù)庫和客戶端都是沒有問題的。
2.安裝32位的Oracle Database客戶端軟件。
在win7 64bit的客戶端安裝32位的Oracle Database客戶端軟件,安裝后準備配置ODBC的時候發(fā)現(xiàn)一個問題,通過傳統(tǒng)的控制面板->ODBC管理器->創(chuàng)建ODBC數(shù)據(jù)源的方式無法找到相應的Oracle Database驅動程序,如下圖所示。
從上圖可以看出沒有Oracle Database的驅動程序。
3.打開加載32位驅動程序的ODBC管理器。
通過傳統(tǒng)的方式之所以無法找到Oracle Database驅動程序,原因在于平臺是64位,但安裝的是32位的Oracle Database軟件,常規(guī)的ODBC管理器不會加載32位的驅動程序。通過執(zhí)行C:\Windows\SysWOW64\odbcad32.exe程序可以打開加載32位驅動程序的ODBC管理器,如下圖所示。
上圖中的"Oracle in OraDb11g_home1"即使32位的客戶端驅動程序。
4.創(chuàng)建連接數(shù)據(jù)庫的ODBC數(shù)據(jù)源。
如下圖所示,創(chuàng)建連接到數(shù)據(jù)庫的ODBC數(shù)據(jù)源。
5.準備測試環(huán)境。
使用JCreator運行一段通過配置的ODBC連接數(shù)據(jù)庫的代碼,確保編譯和執(zhí)行Java代碼使用的是32位的JDK,執(zhí)行的代碼如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
總結
以上是生活随笔為你收集整理的64位jdk连接32位的mysql_在64位客户端使用32位的ODBC配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java list数组排序_浅谈对象数组
- 下一篇: mysql utf8 cmd,MySQL