`

Oracle 11g透明网关连接Sqlserver 2000

阅读更多
一、环境

公司网站系统使用的是IIS + Oracle

但公司某系统使用的是Sqlserver 2000, 但其数据需要做成报表放到网站上,为简化编程,使用Oracle做透明网关,定期从Sqlserver 抓取数据的方式

A: Web Server
•OS: Windows Server 2008
•IP: 10.108.3.10
•安装软体:IIS, Oracle Client
•image

B: Oralce DB Server
•OS: Windows Server 2008
•IP: 10.108.3.20
•安装软体: Oracle DB, Oracle Gateway
•image

C: Sqlserver 2000 DB Server
•OS: Windows Server 2003
•IP: 10.108.5.100
•安装软体: Sqlserver 2000

这里面A和C的安装配置都很简单,主要说下B机器 Oracle透明网关的配置



二、Oracle透明网关配置

1. gateway安装

当然是要先安装好我们的Oracle DB,做好其它业务。然后再来安装Gateway

image

image

2. 配置 E:\Oracle\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora

HS_FDS_CONNECT_INFO=[10.108.5.100].MSSQLSERVER.SQLDB
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

Oracle Gateway在此文件中默认将sqlserver 2000的IP,实例名,数据库名以 / 分隔,这种设置后续会报错,改为以 . 分隔则OK

#HS_FDS_CONNECT_INFO=[10.108.5.100]/MSSQLSERVER/SQLDB

3. 配置E:\Oracle\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora


复制代码
SID_LIST_LISTENER = 
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = dg4msql)    #此处为配置文件SID,要与initdg4msql.ora中的名字对应
      (ORACLE_HOME = E:\Oracle\product\11.2.0\tg_1)
      (PROGRAM = dg4msql)   #此处为配置文件目录名称,Oracle 11g中都为dg4msql,不需变更(注1)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.108.3.20)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
  )

ADR_BASE_LISTENER = E:\Oracle\product\11.2.0\tg_1

复制代码

注1:如果将此处的dg4msql变掉,在最后通过Oracle访问SQL SERVER时会报以下错误

ORA-28545: 连接代理时 Net8 诊断到错误
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 紧接着 2 lines



4. 配置E:\Oracle\product\11.2.0\tg_1\NETWORK\ADMIN\tnsnames.ora


复制代码
dg4msql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.108.3.20)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dg4msql)
    )
    (HS = OK)
  )

复制代码

5. 配置E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora


复制代码
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
#以下是其它业务的DB
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
    )
#以下是透明网关的设置
    (SID_DESC =
      (SID_NAME = dg4msql)
      (ORACLE_HOME = E:\Oracle\product\11.2.0\dbhome_1)
      (PROGRAM = dg4msql)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.108.3.20)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = E:\Oracle

复制代码

6. 配置E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora


复制代码
dg4msql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.108.3.20)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dg4msql)
    )
    (HS = OK)
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

复制代码

7. 建立DB link

-- Create database link
create database link SQLSERVERLINK
  connect to sa identified by password
  using 'dg4msql';
分享到:
评论

相关推荐

    linux_oracle11g使用透明网关连接sqlserver.docx

    linux_oracle11g使用透明网关连接sqlserver.docx

    oracle10g透明网关连接SqlServer2008

    Oracle 10g 透明网关连接到 SQL Server 2008 是一种技术,它允许用户在 Oracle 数据库环境中无缝地访问 SQL Server 数据库,仿佛它们是同一个系统的一部分。透明网关使得数据集成和跨数据库操作变得简单,无需编写...

    安装、配置Oracle11g透明网关连接Sqlserver2005数据库

    ### 安装与配置Oracle 11g透明网关连接SQL Server 2005数据库 #### 一、概述 本文将详细介绍如何安装并配置Oracle 11g透明网关来实现与SQL Server 2005数据库的连接。透明网关是一种允许Oracle数据库与其他类型...

    Oracle透明网关连接sqlserver2008

    ### Oracle透明网关连接SQL Server 2008:详细指南 #### 一、环境配置与准备 在探讨Oracle透明网关(Transparent Gateway)如何连接到SQL Server 2008之前,首先需要确保所有涉及的系统环境都已正确设置。以下是...

    oracle10g或11g通过dblink访问sql server数据库

    ### Oracle 10g 或 11g 通过 DBLink 访问 SQL Server 数据库 #### 概述 本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的...

    Oracle 10g连接sqlserver2000操作指南

    Oracle 10g 连接 SQL Server 2000的操作流程主要涉及两个核心部分:安装Gateways和配置透明网关。以下是对这两个步骤的详细解释: ### 一、安装 Gateways 安装Gateways是为了让Oracle数据库能够与SQL Server进行...

    Oracle 10g + SQL SERVER 2000 透明网关设置

    Oracle 10g 透明网关设置用于与 SQL SERVER 2000 数据库的集成,使得用户可以在 Oracle 环境中直接访问 SQL SERVER 的数据,无需了解底层的网络和数据库细节。以下是对该设置过程的详细说明: 首先,确保在安装 ...

    Oracle 10G数据库与Sql Server数据的透明网关连接配置

    Oracle 10G数据库与SQL Server数据的透明网关连接配置是实现两个不同数据库系统间无缝交互的重要技术。透明网关允许用户在Oracle环境中直接执行SQL Server的查询,而无需了解底层数据存储的具体位置或格式。以下将...

    Oracle10g对SqlServer2000的透明网关安装

    Oracle10g对SQL Server 2000的透明网关安装是将Oracle数据库系统与微软的SQL Server数据库进行互操作的一种方式,使得Oracle可以透明地访问SQL Server的数据,就像它们都在同一个数据库系统内一样。这种技术主要适用...

    Oracle透明网关跨库查询SQLServer.docx

    ### Oracle透明网关跨库查询SQLServer #### 环境搭建与配置 在实际的生产环境中,常常会遇到需要跨数据库查询的情况。比如,在一个系统中可能同时使用Oracle和SQLServer作为数据存储,这就需要一种机制来实现这两...

    Oracle+10g+数据库配置透明网关访问MS+SQLSERVER[整理].pdf

    Oracle 10g数据库透明网关访问MS SQL Server是一种技术,允许Oracle数据库通过透明的方式与Microsoft SQL Server数据库进行通信和数据交互。这种配置允许用户在Oracle环境中查询和操作SQL Server的数据,无需了解...

    SQLServer2008R2与Oracle11gR2互连

    对于在Windows平台上实现Oracle连接SQLServer,可以使用ODBC或透明网关。 ##### 5.1 安装透明网关 - 选择需要安装的组件并输入连接信息。 - 建立Listener,名称可以在后面进行修改。 - 选择端口,端口号也可以在...

    oracle通过odbc建立dblink访问sqlserver数据库

    为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为简便的方法是利用Oracle提供的ODBC(Open Database Connectivity)机制来建立DBLink。这种方式相较于使用透明网关...

    oracle 中安装透明网关

    1. **安装Oracle 11g透明网关**:按照Oracle提供的安装指南进行操作,确保选择正确的组件以支持SQL Server。 2. **修改配置文件**: - **initdg4msql.ora**:这是Oracle Gateway的初始化参数文件,用于配置连接到...

Global site tag (gtag.js) - Google Analytics