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. 系统分析与设计个人作业:WordCount

    本次作业gitee地址:https://gitee.com/ackary/WordCount 一.项目简介 1.基础功能 基础功能部分主要实现的功能是统计一个程序设计语言源文件的字符数.单词数.行数, ...

  2. 团队作业6—《Spring_Four》团队项目系统设计改进与详细设计

    一.修改完善团队项目系统设计说明书 a.分析<考信项目系统设计说明书>初稿的不足:数据库建模不足 b. 团队项目Github仓库中更新:https://github.com/gzyt/SR ...

  3. jupyter notebook 代码自动补齐插件

    安装: . pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple 2. jupyter ...

  4. JVM入门

    面试过程中,问到JVM一脸懵逼,在github看了一些文章,感觉质量不错,整理了一下希望大家不吝赐教. 目前主流的jdk采用解释与编译混合执行的模式,其JIT技术采用分层编译,极大地提升了Java的执 ...

  5. C#少量数据分页方法

    string sql = @"select [Name],[Value],[TypeCode] from [dbo].[SYS_Parameter] WHERE TypeCode = 'Us ...

  6. redis哨兵集群

    Sentinel 哨兵 修改src下的sentinel.conf文件 , 配置端口  :port:随便   daemonize yes 配置主服务器的ip 和端口 我们把监听的端口修改成7000,并且 ...

  7. LeetCode解题录-51~100

    [leetcode]51. N-QueensN皇后    Backtracking Hard [leetcode]52. N-Queens II N皇后 Backtracking Hard [leet ...

  8. ViewPager中Fragment的重复创建、复用问题

    在ViewPager中的Fragment的生命周期  随着页面的切换 当前的展示页相邻的页面生命周期一直在变化 一开始 刚进入Activity时候,ViewPager默认初始化好前两个Fragment ...

  9. java8 LocalDateTime转unix时间戳(带毫秒,不带毫秒)

    转载自:LocalDateTime To Timestamp Epoch Seconds And Milliseconds Convert LocalDateTime to seconds since ...

  10. python 聊天程序(基于UDP)

    from threading import Thread from socket import * updSocket = socket(AF_INET,SOCK_DGRAM) updSocket.b ...