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

时间: 2024-10-08 20:15:07

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

oracle创建dblink

当用户要跨本地数据库访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据.下面讲介绍如何在本地数据库中创建dblink. 创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限.想知道有关dblink的权限,以sys用户登录到本地数据库: select * from user_sys_privs t where t.privilege like upper('

oracle 创建dblink

CREATE database link test_dblinkCONNECT TO sjzx IDENTIFIED BY sjzxUSING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.176.150.201)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ))'; database link概述 database link是定义一个数据

[转]Oracle 创建 DBLink 的方法

http://blog.csdn.net/davidhsing/article/details/6408770 1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from user_sys_privs where privilege like upper('%DATABASE LINK%'); 如果没有,则需要使用 sysdba 角色给用户赋权: grant create public database link to dbusername;

Atitit 视图参数解决方案 oracle版和mysql版本 attilax总结.docx

1.1. Package机制1 1.2. 全局变量机制1 1.3. 临时表模式,oracle mysql都支持1 1.1. Package机制   Oracle  支持 建立包头 create or replace package p_view_param  is --参数一 function set_param(num number) return number; function get_param  return number; --参数二 function set_Starttime(n

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

Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id varchar(64) NOT NULL COMMENT '编号', parent_id varchar(64) NOT NULL COMMENT '父级编号', parent_ids varchar(2000) NOT NULL COMMENT '所有父级编号', name varchar(100) NOT NULL C

oracle迁移到mysql(仅使用脚本)

一直用oracle,最近研究了下mysql,先列举下mysql奇怪的特性 1. 不能存储毫秒精度的时间. 2. 如果有varchar, char就会自动变varhar. 3. timestamp时间范围比datatime小,精度一样, 而且就算你不insert/update,它的值也会自动改变. 4. 没有sequence可以用. 下面说下步骤吧. 首先你得有个mysql,如果没有请参考安装步骤. 1. 导出表结构, 并且创建到Mysql 2. oracle spool 命令导出数据 3. my

oracle创建表空间、用户、和权限配置

oracle数据库和mysql.sqlserver不同,它是在同一个数据库中可以定义多个表空间,不同表空间是相互独立的,每个用户都有默认的表空间,所以基本上不同的用户操作的数据表都可以不同,当然如果要相同的话可以在定义表空间的时候设定好那个表空间就行. 创建表空间: create tablespace (你的表空间名字如 pfm)datafile 'D:\oracle\product\10.2.0\oradata\orcl\pfm.dbf' size 100M autoextend on nex

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

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL上来先说点废话本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非关系型数据库,所以干脆一起研究一下,对比学习中找不同,首先说一下本人使用的数据库版本和可视化工具Oracle10G—PL/SQL Developer9MySQL5.5.29—MySQL Workbench6.0MongoDB2.4.9(32bit最大2G)—Robomongo0.8.4为了保持数据的

使用MySQLMigrationToolkit快速将Oracle数据导入MySQL

使用MySQL Migration Toolkit快速将Oracle数据导入MySQL 上来先说点废话 本人最近在学习一些数据库方面的知识,之前接触过Oracle和MySQL,最近又很流行MongoDB非关系型数据库,所以干脆一起研究一下,对比学习中找不同,首先说一下本人使用的数据库版本和可视化工具 Oracle10G—PL/SQL Developer9 MySQL5.5.29—MySQL Workbench6.0 MongoDB2.4.9(32bit最大2G)—Robomongo0.8.4 为