1, 首先在Oracle所在計算機(jī)安裝MySQL的Client端軟件,并且x86_64和i386版本的都需要安裝,以便可以連接MySQL數(shù)據(jù)庫。查看Client安裝情況:
復(fù)制代碼 代碼如下:
rpm -qa |grep mysql
mysql-5.0.45-7.el5
mysql-5.0.45-7.el5
得到兩條記錄,一條是x86_64的,一條是i386的。
如果看到還沒有安裝mysql客戶端軟件,則需要安裝:
復(fù)制代碼 代碼如下:
yum install mysql
yum install mysql.i386
驗(yàn)證在此Oracle所在計算機(jī)是可以連接目標(biāo)主機(jī)MySQL數(shù)據(jù)庫:
復(fù)制代碼 代碼如下:
mysql -h 192.168.1.1 -u root -p mysql
2, 檢查Oracle所在計算機(jī)是否已安裝MySQL ODBC客戶端,并且x86_64和i386版本的都需要安裝。
復(fù)制代碼 代碼如下:
rpm -qa |grep mysql-connect
如果沒有安裝mysql-connector-odbc,則用下面命令下載和安裝:
下載 mysql-connector-odbc:
復(fù)制代碼 代碼如下:
wget ftp://mirror.switch.ch/pool/3/mirror/centos/5.2/os/i386/CentO S/mysql-connector-odbc-3.51.12-2.2.i386.rpm
安裝mysql-connector-odbc:
復(fù)制代碼 代碼如下:
rpm -ivh mysql-connector-odbc-3.51.12-2.2.i386.rpm
得到提示
復(fù)制代碼 代碼如下:
libltdl.so.3 is needed by mysql-connector-odbc-3.51.12-2.2.i386 ,發(fā)現(xiàn)需要安裝libtool的i386版本,因此通過如下命令安裝libtool-ltdl.i386:
yum list *.i386|grep libtool
yum install libtool-ltdl.i386
3, 在Oracle所在計算機(jī)編輯/etc/odbc.ini文件,測試ODBC工作
復(fù)制代碼 代碼如下:
vi /etc/odbc.ini
#odbc.ini內(nèi)容如下
復(fù)制代碼 代碼如下:
[test]
Driver=/usr/lib64/libmyodbc3.so
Description=MySQL
Server=192.168.1.1(MySQL Server IP)
Port=3306
User= (MySQL Username)
UID= (MySQL Username)
Password= (MySQL PWD)
Database= (MySQL Database Name)
Option=3
Socket=
在命令行中執(zhí)行下列命令,應(yīng)能夠順利登入MySQL Client窗口,即證明ODBC功能正常:
復(fù)制代碼 代碼如下:
isql -v test
quit
4, 編輯hs配置文件 vi /ora10g/hs/admin/inittest.ora(注意文件名中藍(lán)色部分為odbc.ini中藍(lán)色名稱)
復(fù)制代碼 代碼如下:
HS_FDS_CONNECT_INFO = test
HS_FDS_TRACE_LEVEL = on(正式使用后,不需要排錯的時候應(yīng)設(shè)為off)
HS_FDS_TRACE_FILE_NAME = test.trc
HS_FDS_SHAREABLE_NAME=/usr/lib/libmyodbc3.so
set ODBCINI=/etc/odbc.ini
5, 編輯Oracle所在計算機(jī)的Oracle listener的配置文件,建立一個模擬Oracle Listener的監(jiān)聽方式,為將來建立dblink做準(zhǔn)備:
vi /ora10g/network/admin/listener.ora 加入如下語句:
復(fù)制代碼 代碼如下:
(SID_DESC =
(SID_NAME = test)
(ORACLE_HOME = /ora10g)
(PROGRAM = hsodbc)
(ENVS=LD_LIBRARY_PATH=/ora10g/lib32:/usr/lib64:/ora10g/lib)
)
listener.ora文件現(xiàn)在的內(nèi)容變成:
復(fù)制代碼 代碼如下:
SID_LIST_LISTENER = (
SID_LIST =
(SID_DESC =
(ORACLE_HOME = /ora10g)
(PROGRAM = extproc)
(GLOBAL_DBNAME=prod)
(SID_NAME=prod)
)
(SID_DESC =
(SID_NAME = test)
(ORACLE_HOME = /ora10g)
(PROGRAM = hsodbc)
(ENVS=LD_LIBRARY_PATH=/ora10g/lib32:/usr/lib64:/ora10g/lib)
)
)
LISTENER = (
DESCRIPTION_LIST =
(DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) )
)
執(zhí)行l(wèi)snrctl reload使Listener生效:
復(fù)制代碼 代碼如下: