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

window server2008下Oracle 配置dblink查询 MySQL 数据

源端:

Windows Server 2008

Oracle Database 11gR2 (64-bit)

目标端:

CentOS 7.9

MySQL 8.0.40

访问方式:Oracle 使用 DG4ODBC + MySQL ODBC建立DBLINK查询 MySQL 数据

一、在 Windows Server 安装 MySQL ODBC 驱动

1. 下载 MySQL ODBC 8.0 驱动(64-bit)

官方下载地址:

https://dev.mysql.com/downloads/connector/odbc/

选择:

Windows (x86, 64-bit), MSI Installer → Connector/ODBC 8.0.33

安装完成后继续

#mysql ODBC的驱动版本要注意兼容性,否则连接会失败,报ora-03113 通信通道的文件结尾。

2. 配置 ODBC 数据源

打开:

控制面板 → 管理工具 → ODBC 数据源 (64位)

选择系统DSN→ 新建 → MySQL ODBC 8.0 Driver

填写:

| 参数            | 值                          |

| ---------------- | --------------------------- |

| Data Source Name | mysql_dsn                   |

| Server           | MySQL服务器IP(如 192.168.10.50) |

| User             | mysql_user                  |

| Password         | mysql_password              |

| Database         | 目标库名,如 testdb         |

| Port             | 3306                        |

点击Test必须为Success

二、Linux 端 MySQL 授权访问(必须)

在 MySQL 服务器执行:

CREATE USER 'mysql_user'@'%' IDENTIFIED BY 'mysql_password';

GRANT ALL PRIVILEGES ON testdb.* TO 'mysql_user'@'%';

FLUSH PRIVILEGES;

三、配置 Oracle DG4ODBC 网关

1. 编辑 tnsnames.ora

路径:

%ORACLE_HOME%\network\admin\tnsnames.ora

增加:

MYSQL_DBLINK =

  (DESCRIPTION=

    (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))

    (CONNECT_DATA=(SID=MYSQLGATE))

    (HS=OK)

  )

2. 创建网关初始化文件

路径:

%ORACLE_HOME%\hs\admin\initMYSQLGATE.ora

内容:

HS_FDS_CONNECT_INFO = mysql_dsn

HS_FDS_TRACE_LEVEL = 0

HS_LANGUAGE = AMERICAN_AMERICA.AL32UTF8

3. 编辑 listener.ora

路径:

%ORACLE_HOME%\network\admin\listener.ora

增加SID_DESC(红色部分):

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\Oracle\product\11.2.0\dbhome_2)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\product\11.2.0\dbhome_2\bin\oraclr11.dll")

        )

       (SID_DESC =

      (SID_NAME = MYSQLGATE)

      (ORACLE_HOME = D:\Oracle\product\11.2.0\dbhome_2)

      (PROGRAM = dg4odbc)

        )

  )

⚠ 请替换 ORACLE_HOME 路径为你的真实路径

#### 重启监听:

lsnrctl stop

lsnrctl start

确认注册成功:

lsnrctl status

需看到:

Service "MYSQLGATE" has 1 instance(s).

四、在 Oracle 中创建 DBLINK

登录 SQL*Plus:

CREATE PUBLIC DATABASE LINK mysql_link

CONNECT TO "mysql_user" IDENTIFIED BY "mysql_password"

USING 'MYSQL_DBLINK';

五、测试访问

SELECT * FROM your_table@mysql_link;

如果能返回数据,即配置成功!

## 常见问题排查

| 错误                    | 解决方案                           |

| --------------------- | -------------------------------------------- |

| ORA-28545 / ORA-28500 | 确保 ODBC 使用 **系统DSN**,并重启 Oracle 服务 

| ORA-02019            | DBLINK 名称写错                                  |

|ORA-03113     |驱动版本不匹配,安装对应的驱动

| 中文乱码              | 确保 `HS_LANGUAGE = AMERICAN_AMERICA.AL32UTF8` |

## 可选优化(强烈建议)

由于 MySQL 表名默认大小写敏感,建议在 MySQL 中执行:

sql

SET GLOBAL lower_case_table_names = 1;

并重启 MySQL。

http://www.dtcms.com/a/581820.html

相关文章:

  • 软件数据库测试:【数据库质量保障:从单元测试到性能优化】
  • Windows安装Mujoco
  • vue3切换路由时页面空白问题解决办法
  • 时尚网站设计案例网站建设与网站主机的选择
  • 只买域名不建网站手机网站页面模板
  • Via安卓纯净版浏览器 v6.7.1去广解锁高级版
  • Ubuntu 24编译Android源码问题解决
  • 南宁市建设工程质量安全协会网站男性专科正规医院
  • 企业为什么建设网站wordpress5无法创建目录
  • Flutter 加固方案对比与实战,多工具组合的跨平台安全体系(Flutter App 加固/IPA 成品混淆/Ipa Guard CLI/自动化安全流程)
  • Qt/QML DelegateModel基础用法示例
  • 使用hping3进行网络协议测试与防火墙测试的完整指南
  • 西安网站建设市场烟台网站建设团队
  • 如何使用指标来确定趋势
  • 【vsftpd】centos和ubuntu部署vsftpd服务
  • 各大网站发布seo点击
  • Apache Jena SPARQL 查询完全指南:入门与实战案例
  • 做电影网站成本响应式网站开发asp
  • 中文网站开发语言wordpress广告模板下载地址
  • Elimination英文单词学习
  • S31-WinCC单个窗口多次调用
  • 突破罕见遗传病诊断壁垒:知识图谱增强医学大模型的智能应用
  • linux下移植LVGL v9.1.0实现屏幕UI显示
  • 【ETCD】ETCD——confd配置管理
  • C++进阶:(七)红黑树深度解析与 C++ 实现
  • HBase Shell里表操作实战
  • ESP32 FreeRTOS IPC机制全解析
  • 建设银行信用卡卡网站温州微网站制作公司哪家好
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P07-07 激活能力
  • [特殊字符] 常用 Maven 命令