1、切换oracle用户,判断32位还是64位
su - oracle
file $ORACLE_HOME/bin/dg4odbc
2、下载并安装ODBC Driver Manager
下载地址:ODBC Driver Manager
下载版本:unixODBC-2.3.1.tar.gz
su - root --切换回root账号
cd /home/oracle/
tar -zxvf unixODBC-2.3.1.tar.gz
./configure --prefix=/usr/local/unixODBC-2.3.1 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
make && make install
安装成功后,unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/etc下。
3、下载并安装ODBC Driver for Mysql
下载地址:ODBC Driver for Mysql
安装:
su - root
cd /u01/app
tar -xzvf mysql-connector-odbc-5.3.13-linux-glibc2.12-x86-32bit.tar.gz
mv mysql-connector-odbc-5.3.13-linux-glibc2.12-x86-32bit mysql-connector-odbc
sudo cp libmyodbc5a.so /usr/lib
sudo cp libmyodbc5a.so /usr/lib64
sudo cp libmyodbc5w.so /usr/lib
sudo cp libmyodbc5w.so /usr/lib64
cd bin
./myodbc-installer -d -a -n "MySQL ODBC 5.2 Driver" -t "DRIVER=/usr/lib/libmyodbc5a.so;SETUP=/usr/lib/libmyodbc5a.so"
4、配置ODBC Driver
vi /etc/odbc.ini
[myodbc5]
Driver = /usr/lib64/libmyodbc5w.so
Description = Connector/ODBC 5.2 Driver DSN
SERVER = 10.50.10.56
PORT = 3306
USER = root
PASSWORD = mysql
DATABASE = edge_db
OPTION = 0
TRACE = OF
CHARSET = UTF8
编辑/etc/odbcinst.ini
[MySQL ODBC 5.1 Driver]
Driver=/usr/lib64/libmyodbc5w.so
SETUP=/usr/local/lib/libmyodbc5a.so
UsageCount=1
5、验证ODBC连接
su - oracle
vi .bash_profile
export ODBCINI=/etc/odbc.ini
[oracle@xm-zhwms01 ~]$ isql myodbc5 -v
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> show databases;
+-----------------------------------------------------------------+
| Database |
+-----------------------------------------------------------------+
| information_schema |
| edge_db |
| edgink_db |
| my2 |
| mysql |
| performance_schema |
| sys |
+-----------------------------------------------------------------+
SQLRowCount returns 7
7 rows fetched
[oracle@xm-zhwms01 ~]$ which isql
/bin/isql
6、配置tnsnames.ora
cd $ORACLE_HOME/network/admin
vi listener.ora
myodbc5 =
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP) (HOST=xm-zhwms01) (PORT=1521)
)
(CONNECT_DATA=
(SID=myodbc5)
)
(HS=OK)
)
添加listener.ora
echo $ORACLE_HOME
/u01/app/oracle/19.3.0
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=myodbc5)
(ORACLE_HOME=/u01/app/oracle/19.3.0)
(PROGRAM=dg4odbc)
(ENVS=LD_LIBRARY_PATH=/usr/lib:/u01/app/oracle/19.3.0/lib)
)
)
8、创建init.ora文件
vi $ORACLE_HOME/hs/admin/initmyodbc5.ora
HS_FDS_CONNECT_INFO=myodbc5
HS_FDS_SHAREABLE_NAME=/usr/lib/libodbc.so
HS_FDS_SUPPORT_STATISTICS=FALSE
HS_NLS_NCHAR=UCS2
HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8
9、使上述配置生效
lsnrctl reload
lsnrctl status
tnsping myodbc5
验证配置
sqlplus / as sysdba
create public database link wttest connect to "root" identified by "mysql" using 'myodbc5';
select * from "wt_test"@wttest;