You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PLSQL Developer将SQL Server数据导入Oracle表并创建对应DB Link

解决方案

前置说明

你之前使用的是Oracle到Oracle的同构数据库DB Link语法,连接SQL Server这类异构数据库,必须先部署Oracle Database Gateway for SQL Server (DG4MSQL) 组件,无法直接通过原生同构DB Link语法连接。

配置步骤

1. 部署DG4MSQL组件

Oracle 19c安装介质中自带DG4MSQL安装选项,选择安装到Oracle数据库所在服务器即可,无需额外license。

2. 配置网关初始化参数

进入网关安装目录下的admin文件夹,新建初始化参数文件initdg4msql_muc2.ora,文件内容参考:

HS_FDS_CONNECT_INFO = TEST101\MUC2/<SQL Server侧数据库名>
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_RECOVERY_ACCOUNT = RECOVER
HS_FDS_RECOVERY_PWD = RECOVER
HS_NLS_NCHAR = UCS2

这里直接填入你现有的TEST101\MUC2实例名即可,无需转换为.com域名格式,只要Oracle服务器能解析TEST101的主机名、和SQL Server网络连通即可。

3. 配置Oracle监听

编辑数据库所在服务器的listener.ora文件,新增网关SID条目,参考配置:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = dg4msql_muc2)
      (ORACLE_HOME = <你的Oracle网关安装目录绝对路径>)
      (PROGRAM = dg4msql)
    )
  )

配置完成后执行lsnrctl reload重载监听生效。

4. 配置tnsnames.ora

编辑数据库所在服务器的tnsnames.ora文件,新增指向网关的TNS别名:

DG4MSQL_MUC2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <Oracle数据库本机IP或主机名>)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql_muc2)
    )
    (HS = OK)
  )

可以执行tnsping DG4MSQL_MUC2验证连通性。

使用如下语法创建指向SQL Server的DB Link,这里的USING参数直接填上面配置的TNS别名即可,无需.com后缀的主机地址:

CREATE DATABASE LINK SQLSERVER_MUC2
CONNECT TO "<SQL Server登录名>"
IDENTIFIED BY "<SQL Server登录密码>"
USING 'DG4MSQL_MUC2';

创建完成后可以执行测试语句验证:
SELECT * FROM 表名@SQLSERVER_MUC2;

注意事项

  • 确保SQL Server侧已开启TCP/IP协议、SQL Server Browser服务已启动,防火墙放通1433端口(命名实例如果用动态端口需放通对应端口)
  • Oracle服务器的hosts文件可配置TEST101对应的IP地址,避免主机名解析失败
  • SQL Server的对象名、字段名大小写敏感,查询时需和SQL Server侧的大小写完全一致

内容的提问来源于stack exchange,提问作者Swoop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:18:01