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