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. [原创]标记下Kendo使用中的问题, 持续更新中ing.....

    使用kendo UI 遇到的问题: 1. Kendo DropdownList 加载完毕后, 显示 [object object]的问题: 解决: 尝试了添加dataTextField.dataVal ...

  2. mysql主从脚本

    #!/bin/bash #auto make install mysql AB Replication #by author ale #-- :: MYSQL_SOFT="mariadb m ...

  3. Win10系统下,本地连接远程桌面(Win2016)图解

    1.Win+R在运行框中输入mstsc,回车 2.在出现的远程登陆窗口中,计算机中输入远程桌面IP 3.点击显示选项按钮,在远程桌面窗口中,点击常规(默认),输入登陆的用户名: XXXXXX 4.点击 ...

  4. python Selenium启动chromedriver

    从网上下载对应版本的chromedriver之后,里面的内容仅为一个.exe文件, 将其解压在chrome的安装目录下(C:\Program Files (x86)\Google\Chrome\App ...

  5. StringUtils.isEmpty StringUtils.isBlank

    两个方法都是判断字符是否为空的.前者是要求没有任何字符,即str==null 或 str.length()==0:后者要求是空白字符,即无意义字符.其实isBlank判断的空字符是包括了isEmpty ...

  6. java第一天 数据类型、变量的命名、类型的转换

    数据类型 /* 数据类型:Java是一种强类型语言,针对每一种数据都给出了明确的数据类型 数据类型分类: A:基本数据类型 B:引用数据类型(类,接口,数组) 基本数据类型:4类8种 A:整数 字节 ...

  7. contains用法

    判断List<UserInfoDto>里是否有重复的UserInfoDto,不能使用contains 例: List<UserInfoDto> list = new Array ...

  8. 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试

    一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...

  9. leetcode 1004最大连续1的个数

    给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 . 返回仅包含 1 的最长(连续)子数组的长度. 输入:A = [1,1,1,0,0,0,1,1,1,1,0], ...

  10. python的requests模块参数详解

    import requests print(dir(requests)) # 1.方法 # ['ConnectTimeout', 'ConnectionError', 'DependencyWarni ...