如何在oracle上建dblink连接远程mysql数据库

1.先装 mysql-connector-odbc和unixODBC [root@rac1 ~]# rpm -qa | grep mysql mysql-5.0.77-4.el5_4.2 mysql-5.0.77-4.el5_4.2 mysql-connector-odbc-5.1.13-1.rhel5 [root@rac1 ~]# rpm -qa | grep ODBC unixODBC-devel-2.2.11-7.1 unixODBC-2.2.11-7.1 unixODBC-de...
如何在oracle上建dblink连接远程mysql数据库
oracle:系统redhat 5.5 数据库:11.2.0.1
mysql:系统centos6.3 数据库:5.6.21

1.先装 mysql-connector-odbc和unixODBC

[root@rac1 ~]# rpm -qa | grep mysql
mysql-5.0.77-4.el5_4.2
mysql-5.0.77-4.el5_4.2
mysql-connector-odbc-5.1.13-1.rhel5

[root@rac1 ~]# rpm -qa | grep ODBC
unixODBC-devel-2.2.11-7.1
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
unixODBC-2.2.11-7.1

2.配置 /etc/odbc.ini
[myodbc3]
Driver = /usr/lib64/libmyodbc5.so
Description = MySQL ODBC 5.1 Driver DSN
SERVER = 192.1.1.200
PORT = 3306
USER = bi
Password = 123456
Database = chanpin
OPTION = 3
SOCKET =
charset = utf8

3.配置/etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib64/libmyodbc5.so
Setup = /usr/lib64/libodbcmyS.so
FileUsage = 1

4.测试连接
[root@rac1 ~]# isql myodbc3 -v
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>

5.配置oracle环境变量
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/grid
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=rac1
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH:/usr/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/hs/lib:/usr/lib64
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ODBCINI=/etc/odbc.ini; export ODBCINI
ODBCSYSINI=/etc; export ODBCSYSINI
ODBCINSTINI=/etc/odbc.ini
export ODBCINSTINI

6.配置监听
listener.ora:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522))
)
)

SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(PROGRAM = dg4odbc)
(SID_NAME= myodbc3)
(ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db_1/lib:/lib:/usr/lib:/usr/local/lib:/u01/app/oracle/product/11.2.0/db_1/hs/lib:/usr/lib64)
)
)

tnsname.ora:

myodbc3=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522))
(CONNECT_DATA =
(SID = myodbc3))
(HS = OK)
)

7.配置odbc监听
路径:$ORACLE_HOME/hs/admin
注意:名字要跟odbc配置的名字一样 我这里是myodbc3

[oracle@rac1 admin]$ cat initmyodbc3.ora
HS_FDS_CONNECT_INFO = myodbc3
HS_FDS_TRACE_LEVEL = ON
HS_FDS_TRACE_FILE_NAME = odbc_test.log
HS_FDS_TRACE_LEVEL = 4
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
HS_FDS_SUPPORT_STATISCTICS = FALSE
HS_LANGUAGE = AMERICAN_AMERICA.WE8ISO8859P1
HS_FDS_SQLLEN_INTERPRETATION=32
set ODBCINI = /etc/odbc.ini

8.测试下监听
[oracle@rac1 admin]$ tnsping myodbc3

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 25-NOV-2014 03:02:16

Copyright (c) 1997, 2009, Oracle. All rights reserved.

Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1.1.100)(PORT = 1522)) (CONNECT_DATA = (SID = myodbc3)) (HS = OK))
OK (0 msec)

9.创建dblink
SQL>create public database link myodbc connect to "bi" identified by "123456" using'myodbc3';
SQL> select count(*) from "t_user"@myodbc;

COUNT(*)
----------
539802016-09-06
mengvlog 阅读 9 次 更新于 2025-07-19 06:54:26 我来答关注问题0
  •  千锋教育 如何使用Toad for Oracle连接oracle数据库

    1. 单击标准工具栏上的,打开数据库登录窗口。注: 也可以选择会话 (Session) | 新建连接 (New Connection)。2. 单击数据库登录工具栏的。 显示添加登录记录 (Add Login Record) 窗口。注:如果不在添加登录记录窗口中创建连接,您可以直接在数据库登录窗口中输入连接 信息。 然而,这种方法会强制您...

  •  新一代男 DBlI什么意思

    dBi的参考基准为全方向性天线,dBd的参考基准为偶极子,所以两者略有不同。一般认为,表示同一个增益,用dBi表示出来比用dBd表示出来要大2. 15。[例3] 对于一面增益为16dBd的天线,其增益折算成单位为dBi时,则为18.15dBi(一般忽略小数位,为18dBi)。[例4] 0dBd=2.15dBi。[例5] GSM900天...

  •  何航召英哲 sql server 2000 个人版怎么安装

    (1) 打开一个命令行窗口(MSDOS窗口),PING本机地址127.0.0.1;如果PING不通本机,则在这一本地机器上存在着网络配置错误。(2) PING本机的外部TCP/IP地址 。为了找到本机的IP地址,可以在WINDOWS9X下运行WINIPCFG,或在WINDOW S NT的命令行下运行IPCONFIG。如果PING本机IP地址操作失败,则在本地机器上存在着网络配...

  •  fancyghost 启动oracle 报 HELPMSG 3547

    我解决了,是端口被占用了,用360的防火墙里有个端口查看器,把占用1158端口的进程都KILL掉,然后EM就可以起来了!

  • 如何在网页中运行简单的python代码 如下的方法请参考: 1、创建一个django项目使用django-admin.pystartprojectMyDjangoSite参考这里 2、建立视图 fromdjango.httpimportHttpResponsedefhello(request):returnHttpResponse("我的第一个简单的pythondjango项目。") 3、修改urls.py 我们为urlpatterns加上一行:(r‘^hello/$'...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部