- 浏览: 142163 次
- 性别:
- 来自: 深圳
文章分类
最新评论
一、环境
公司网站系统使用的是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';
公司网站系统使用的是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';
发表评论
-
Oracle 取随机数
2014-07-15 08:59 1024在Oracle中的DBMS_RANDOM程序包中封装了一些生 ... -
oracle JOB常见的执行时间
2014-05-29 13:51 789oracle JOB常见的执行时间 1、每分钟执行 ... -
Execute the following T-SQL scripts in Microsoft SQL Server Manangement Studio Q
2014-05-07 16:29 996-- Microsoft SQL Server string ... -
Execute the following T-SQL scripts in Microsoft SQL Server Manangement Studio Q
2014-05-07 16:29 767-- Microsoft SQL Server string ... -
Execute the following T-SQL scripts in Microsoft SQL Server Manangement Studio Q
2014-05-07 16:29 747-- Microsoft SQL Server string ... -
Oracle 11G在用EXP 导出时,空表不能导出解决
2014-04-28 16:31 673原始出处:http://wanwenta ... -
sql(join中on与where区别)
2013-11-05 16:41 897left join :左连接,返回左表中所有的记录以及 ... -
oracle:正则表达式
2013-06-05 13:38 1202从oracle database 10gsql 开发指南中 ... -
SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
2012-11-22 13:42 1181排名函数是SQL Server2005新加的功能。在SQL S ... -
SQLSERVER 2005 递归查询 .
2012-11-20 10:28 1416项目中有用户组表UserGroup如下: 其中PID表示 ... -
登录触发器中(或过程中)获得当前会话的id v$mystat
2012-11-15 16:34 2268如何在登录触发器中获得当前会话的id??? ... -
Oracle Merge into 详细介绍
2012-10-25 17:17 1228http://blog.csdn.net/yuzhic/art ... -
SQL Server视图使用中4个限制条件
2012-07-26 14:36 1059限制条件一:定义视图的查询语句中不能够使用某些关键字 我们都 ... -
Oracle引用 Proxool连接池的使用
2012-07-26 14:36 1224官方网址:http://proxool.s ... -
Java Oracle JOBS 自动调度
2012-06-20 11:20 860一、创建一个存储过程 create or replace p ... -
oracle权限详解
2012-05-21 16:04 978一、权限分类: 系统权限:系统规定用户使用数据库的权限。(系统 ... -
ORACLE基本结构解析及入门学习方法
2011-10-11 15:43 1218Oracle的体系太庞大了,对于初学者来说,难免会有些无从下手 ...
相关推荐
linux_oracle11g使用透明网关连接sqlserver.docx
Oracle 10g 透明网关连接到 SQL Server 2008 是一种技术,它允许用户在 Oracle 数据库环境中无缝地访问 SQL Server 数据库,仿佛它们是同一个系统的一部分。透明网关使得数据集成和跨数据库操作变得简单,无需编写...
### 安装与配置Oracle 11g透明网关连接SQL Server 2005数据库 #### 一、概述 本文将详细介绍如何安装并配置Oracle 11g透明网关来实现与SQL Server 2005数据库的连接。透明网关是一种允许Oracle数据库与其他类型...
### Oracle透明网关连接SQL Server 2008:详细指南 #### 一、环境配置与准备 在探讨Oracle透明网关(Transparent Gateway)如何连接到SQL Server 2008之前,首先需要确保所有涉及的系统环境都已正确设置。以下是...
### Oracle 10g 或 11g 通过 DBLink 访问 SQL Server 数据库 #### 概述 本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的...
Oracle 10g 连接 SQL Server 2000的操作流程主要涉及两个核心部分:安装Gateways和配置透明网关。以下是对这两个步骤的详细解释: ### 一、安装 Gateways 安装Gateways是为了让Oracle数据库能够与SQL Server进行...
Oracle 10g 透明网关设置用于与 SQL SERVER 2000 数据库的集成,使得用户可以在 Oracle 环境中直接访问 SQL SERVER 的数据,无需了解底层的网络和数据库细节。以下是对该设置过程的详细说明: 首先,确保在安装 ...
Oracle 10G数据库与SQL Server数据的透明网关连接配置是实现两个不同数据库系统间无缝交互的重要技术。透明网关允许用户在Oracle环境中直接执行SQL Server的查询,而无需了解底层数据存储的具体位置或格式。以下将...
Oracle10g对SQL Server 2000的透明网关安装是将Oracle数据库系统与微软的SQL Server数据库进行互操作的一种方式,使得Oracle可以透明地访问SQL Server的数据,就像它们都在同一个数据库系统内一样。这种技术主要适用...
### Oracle透明网关跨库查询SQLServer #### 环境搭建与配置 在实际的生产环境中,常常会遇到需要跨数据库查询的情况。比如,在一个系统中可能同时使用Oracle和SQLServer作为数据存储,这就需要一种机制来实现这两...
Oracle 10g数据库透明网关访问MS SQL Server是一种技术,允许Oracle数据库通过透明的方式与Microsoft SQL Server数据库进行通信和数据交互。这种配置允许用户在Oracle环境中查询和操作SQL Server的数据,无需了解...
对于在Windows平台上实现Oracle连接SQLServer,可以使用ODBC或透明网关。 ##### 5.1 安装透明网关 - 选择需要安装的组件并输入连接信息。 - 建立Listener,名称可以在后面进行修改。 - 选择端口,端口号也可以在...
为了实现Oracle数据库与SQLServer数据库之间的数据交换,可以通过多种方式实现连接,其中一种较为简便的方法是利用Oracle提供的ODBC(Open Database Connectivity)机制来建立DBLink。这种方式相较于使用透明网关...
1. **安装Oracle 11g透明网关**:按照Oracle提供的安装指南进行操作,确保选择正确的组件以支持SQL Server。 2. **修改配置文件**: - **initdg4msql.ora**:这是Oracle Gateway的初始化参数文件,用于配置连接到...