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错误会话被终止。
 
 

oracle创建与mysql的dblink的更多相关文章

  1. Windows环境下,本地Oracle创建dblink连接远程mysql

    前言 我的情况是,本地安装了oracle(安装完成后带有SQL Developer,不需要再安装instantclient),创建dblink去连接远程的mysql.有些朋友可能是 本地使用PL\SQ ...

  2. oracle创建dblink注意事项 ORA-04052

    BEGIN; oracle创建dblink语句: create database link dblink名称 connect to 用户名 identified by 密码 using '(DESCR ...

  3. Oracle创建DBLink的方法

    文章从http://blog.csdn.net/davidhsing/article/details/6408770拷贝过来的 1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink ...

  4. [转]Oracle 创建 DBLink 的方法

    http://blog.csdn.net/davidhsing/article/details/6408770 1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: 如果 ...

  5. Oracle 创建 DBLink 的方法

    1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from user_sys_privs where privilege like upper('% ...

  6. Oracle透明网关访问MySQL数据库

    针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...

  7. oracle创建表之前判断表是否存在,如果存在则删除已有表

    Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...

  8. 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL[转]

    使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非 ...

  9. oracle创建数据库和用户

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

随机推荐

  1. alias命令详解

    1.简介: 设置指令的别名,用户可利用alias,自定指令的别名.若仅输入alias,则可列出目前所有的别名设置. alias的效力仅及于该次登入的操作.若要每次登入是即自动设好别名,可在/etc/p ...

  2. vlookup 公式使用及常见问题

    该函数的语法规则如下: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 参数 简单说明 输入数据类型 lookup_value ...

  3. linux 之 shell

    echo 输出命令 语法:echo [选项][输出内容] 选项 -e:支持反斜线控制的字符转换 范例 vi hello.sh #!/bin/bash #author liuch echo " ...

  4. 给C#Control组件统一增加加属性

    http://www.cnblogs.com/SharkXu/archive/2006/08/24/EnterGoto.html

  5. ajax、json、jsonp

    这章分享下ajax.json.jsonp的学习记录,不得不说这真是些令人激动的技术. 推荐文章: https://segmentfault.com/a/1190000012469713 http:// ...

  6. 爬虫之Selenium 动态渲染页面爬取

    Selenim 是一个自动化测试工具,可以利用它驱动浏览器执行特定的动作,如点击.下拉等操作,同时可以获取浏览器当前呈现的页面的源代码,做到可见及可爬 1.使用流程 1)声明浏览器对象 Seleniu ...

  7. js,jquery备忘录

    1.var s = str.charCodeAt();转ASCII码 2.String.fromCharCode(65);转字母 3.es6 ... (扩展运算符),将一个数组转化成由逗号分割的队列. ...

  8. gitlab中批量删除本地以及远程tag的操作

    git 批量删除标签# 删除所有远程标签git show-ref --tag | awk '{print ":" $2}' | xargs git push origin # 删除 ...

  9. CentOS7搭建Zookeeper环境

    Linux下安装JDK 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1.8.0 ...

  10. day44 mysql高级部分内容

    复习 1.多表查询 2.navicat 3.pymysql 1.视图 ***(是一个虚拟表,非真实存在的) 引子 select * from emp left join dep on emp.dep_ ...