当前位置: 首页 > news >正文

Oracle连接mysql

oracle使用的11g,在一台windows服务器;mysql使用的是5.7版本,在另一台windows服务器,这两个服务器之间的网络是互通的。做BI时,要获取不同数据源的数据,这些数据源可能是Oracle,也可能是sqlserver、mysql。当使用Oracle作为数仓归集数据时,可以使用专门的ETL工具,从其他类型的数据源获取数据,也可以直接使用Oracle的网关技术+dblink,直连这些非oracle的关系型数据库。

注意:使用这种方式时,会因为个别数据类型不兼容、oracle对标识长度限制等而报错,可以在mysql中建立视图转换解决。

准备

环境

oracle服务器环境:windows server 2012R2 x64、oracle 11.2.0.4

mysql服务器环境:

oracle网关

oracle通过dblink访问非oracle数据库,需要使用oracle的gateway组件。oracle数据库的gateway提供了一种能力,能够从oracle环境透明无障碍地访问在非oracle数据库中的数据。

gateway技术是由两部分组件组成:组件一,使用通用的技术连接非oracle数据库,对于所有非oracle数据库而言,都一样,称之为多样化服务(Heterogeneous Services);组件二,因oracle gateway连接的非oracle数据库的不同而不同。详见下图。使用gateway与odbc驱动,可以访问非oracle数据库,该驱动必须和gateway在同一台机器上。

下载

gateway网关

已被包含在oracle的安装包之中。

odbc驱动

mysql的版本5.7.40,下载对应的ODBC。

https://downloads.mysql.com/archives/c-odbc/

配置

ODBC

如上所示,目前没有mysql odbc驱动,安装下载的odbc即可。

安装odbc时,可以使用默认设置,一直下一步,直至安装完成。

安装完后,沿着之前的路径,打开odbc配置界面

测试成功,保存。

gateway

检查确认是否已经安装gateway,cmd启动命令行,输入db4odbc或hsodbc,查看是否已经安装。如下图所示,说明已经安装。

按照路径E:\app\Administrator\product\11.2.0\dbhome_2\hs\admin,找到initdg4odbc.ora文件,将该文件复制出来,改名为initodbc_ ,本实验中是initdg4odbc_bpm.ora。

注意:每个使用dg4odbc的实例,都必须单独一个”init*.ora”文件,文件命名规则:init+<网关sid>+.ora

HS_FDS_CONNECT_INFO = ODBC数据源管理中的DSN名称【本实验为bpmds】HS_FDS_TRACE_LEVEL = OFF 【追踪级别参数,出于性能影响一般不配置或者配置为"OFF",若遇到网关问题需要跟踪日志,则配置为"Debug",跟踪日志文件存放在"ORACLE_HOME\hs\trace"目录下】

在路径:E:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN,找到监听文件,并调整。

重启监听

提示:监听是动态注册,稍后就能看到orcl

创建dblink,测试。mysql用户密码必须双引号,host是oracle服务器ip,port是oracle端口。

测试效果

相关文章:

  • 面向对象-封装
  • 【0291】Postgres内核之dynahash table 创建
  • 面向对象(Java)
  • Kafka集群部署(手把手部署图文详细版)
  • Vue + Element UI + JSEncrypt实现简单登录页面
  • Spring AI 1.0.0 新变化,从 0.8.1 如何升级
  • 标准库STL
  • day02-统计数据
  • 专题二:Spring源码编译
  • 华为机试HJ12字符串反转
  • 【UE5.3】笔记7 控制Pawn移动
  • pytorch自适应的调整特征图大小
  • LLM - 模型历史
  • 软件测试面试200问【答案+文档】
  • Android Enable 和clickable
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【Leetcode】104. 二叉树的最大深度
  • es6--symbol
  • ES6系统学习----从Apollo Client看解构赋值
  • HTML中设置input等文本框为不可操作
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • PAT A1092
  • V4L2视频输入框架概述
  • vuex 笔记整理
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 聚簇索引和非聚簇索引
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用SAX解析XML
  • 移动端解决方案学习记录
  • 追踪解析 FutureTask 源码
  • Linux权限管理(week1_day5)--技术流ken
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • (Note)C++中的继承方式
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转)http协议
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)项目管理杂谈-我所期望的新人
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET框架
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net中调用windows performance记录性能信息
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • @EnableConfigurationProperties注解使用
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • @基于大模型的旅游路线推荐方案
  • [1] 平面(Plane)图形的生成算法
  • [20140403]查询是否产生日志
  • [2016.7 test.5] T1