2005wind

导航

oracle创建与mysql的dblink

1.先简单介绍下环境
 
操作系统:windows 2008 R2 (64bits)
oracle数据库:10gr2 10.2.0.3.0(32bits)
mysql数据库:5.1 (32bits)
 
2.下载mysql的odbc驱动,我用的是mysql-connector-odbc-5.3.4-win32并安装 
注意:一定要32bits,oracle因为是32bits的所有该使用32bits,如实64bit请使用64bit
 
3.配置odbc数据源,在控制面板中配置就可以了,使用系统DSN(一定要使用),取名为mysql
注:因为我是在64bits系统,应该使用32bits的odbc文件,%windir%/SysWOW64/odbcad32.exe
 
4.在
 
%ORACLE_HOME%/hs/admin下建立initmysql.ora文件
 
输入:
 
HS_FDS_CONNECT_INFO = mysql # mysql   是odbc的连接名
 
HS_FDS_TRACE_LEVEL = 0

  

 
 
5.在
 
%ORACLE_HOME%/network /ADMIN下修改
 
listener.ora
 
附加在:SID_LIST内容
 
(SID_DESC = (SID_NAME = mysql)    # mysql 是hs中跟initmysql.ora对应
 
    (ORACLE_HOME = 对应oracle目录 )    
 
  (PROGRAM = hsodbc)    #10g使用的是hsodbc驱动
 
  )
 

  

 
6.修改tnsnames.ora
 
输入:
 
mysql=    
 
(DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库的机器 即 odbc的机器 )(PORT = 1521))       
 
     (CONNECT_DATA =             (SID=mysql)             )          
 
 (HS =ok)     )

 

 
 
7.创建dblink
 
create public database link mysqllink
 
  connect to “scott”
 
  identified by"tiger"   using 'mysql';

 

 
 
 
 
8.访问mysql库中的表user,注意大小写。
 
select"username"from  "user"@mysqllink

 

 
 
 
经测试均成功执行。
 
因为使用dblink,每次操作时,都需要commit或者rollback,不然会话放久的话,就会出现ora错误会话被终止。
 
 

posted on 2015-12-30 11:11  2005wind  阅读(7374)  评论(0编辑  收藏  举报