通过透明网关使Linux上Oralcle链接SQL

合集下载

Oracle11gR2透明网关设置手册

Oracle11gR2透明网关设置手册

Oracle11gR2透明网关设置手册
Oracle 11g R2 透明网关设置手册一、下载并安装oracle gateways软件
安装路径选择数据库安装路径:
组件选择SQL Sever
填写对应的服务器IP和数据库名称:
设置完成后点击安装:
打开安装路径下的dg4msql\admin文件夹:
1.initdg4msql.ora文件是配置sql server 连接属性,由于在安装时有填写,安装完成自动生成:
2. listener.ora.sample文件,用记事本打开,复制红色框里面的
内容到oracle数据库安装路径下的监听文件:
注:此处的HOST值不能修改,可能导致监听无法启动,且后面配置TNS也要使用此处的值;配置好监听以后一定要重启监听:lsnrctl stop;lsnrctl start;
3. tnsnames.ora.sample文件,用记事本打开,复制TNS配置信息:
将复制的信息粘贴到数据库安装路径下的network\admin下(注:是数据库安装路径下的tns 文件,不是客户端),复制过去要将HOST 值修改成监听文件里面一模一样:
三、创建数据库连接:
在创建数据库连接时,一定要注意数据库名称必须设置为TNS中的名称;
创建完成,测试连接:
查询具体的表时,如果只取某个字段,必须在字段上加双引号,否则会报错:。

oracle11g透明网关配置

oracle11g透明网关配置

透明网关11g+sqlserver配置1 环境描述1.1 Oracle gateway11IP地址:192.168.1.3gateway11主目录:E:\product\11.2.0\tg_11.2 Sql serverSQL server1:版本SQL server 2000IP地址:192.168.1.4实例名:MSQL1数据库名:DB1用户名:sa密码:1SQL server2:版本SQL server 2008IP地址:192.168.1.5实例名:MSQL2数据库名:DB2用户名:sa密码:12 修改文件配置透明网关主要涉及两个部分的文件:启动文件:用于配置SQL SERVER服务器的连接信息,每台SQL SERVER对应一个启动文件监听文件:一个文件,把每个启动文件对应的SID配置进去2.1 启动文件位置:E:\product\11.2.0\tg_1\dg4msql\admin\这个文件是配置连接sql server用的,文件名组成结构是init+SID.ora此例中需要配置两台SQL SERVER服务器,因此在启动文件目录下新建两个文件,文件内容分别如下:2.2 监听文件位置:E:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora文件内容如下:3 启动监听以管理员账户运行命令行窗口,切换到透明网关主目录下:即“E:\product\11.2.0\tg_1”运行lsnrctl start(start启动、stop停止、status查看状态等,其他命令可自行查看)。

******************************************************************************* 至此,透明网关已经可以使用,在所使用的ORACLE主数据库配置DBLINK后即可使用。

DBLINK配置方式如下:。

Oracle下配置透明网关访问MS SQL SERVER

Oracle下配置透明网关访问MS SQL SERVER
listener afterwards. ( After the restart a service handler for tg4msql
should exist).
(SID_DESC=
(SID_NAME=tg4msql)
(ORACLE_HOME=e:\ora92) |<- adjust Oracle_Home directory
----配置listener.ora 如 tg4msql
5) Listener.ora:
This file is in ORACLE_HOME\NETWORK\ADMIN as well.
Add the following line to the SID_List of the listener.ora and restart the
TG4MSQL (Transparent Gateway for MS SQL Server) for a Windows based
platform. This note applies to TG4MSQL release 9.2, 10.1 and 10.2.
SCOPE & APPLICATION
(SID_NAME=tg4msql)
(ORACLE_HOME=F:\oracle\product\10.2.0\db_1)
(PROGRAM=tg4msql) --这里是透明网关的目录
)
)
****************************************************************************
-------------------
This bulletin is a summary of the manual.

Oracle使用透明网关访问SQLSERVER数据库

Oracle使用透明网关访问SQLSERVER数据库

一、下载安装文件:在浏览器中输入/otn/nt/oracle10g/10201/10201_gateways_win32.zip 下载透明网关安装文件。

二、安装透明网关:解压后,进入目录,点击setup.exe,启动安装界面,选择需要安装的透明网关类型:输入SQLSERVER 服务器IP地址和数据库名称:三、修改主机的环境变量PATH,把透明网关的环境变量去掉:path新生成的配置文件一般会存在path变量值得最左边,透明网关的配置文件一般有两个四、设置inittg4msql.ora如下:假设%GATEWAY_HOME% = E:\oracle\product\10.2.0\tg_1(透明网关的源文件)修改%GATEWAY_HOME%\tg4msql\admin\inittg4msql.ora,这是网关进程启动时需要的初始化文件。

HS_FDS_CONNECT_INFO="SERVER=127.0.0.1;DATABASE=trustoodSQL"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER修改之后,修改文件名为 (init<sid>.ora);五、修改%GATEWAY_HOME%\network\admin\listener.ora如下:TG4MSQL =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = report)(PORT = 1522)) #注意这里的端口(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))SID_LIST_TG4MSQL =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = E:\oracle\product\10.2.0\tg_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = tg4)(ORACLE_HOME = E:\oracle\product\10.2.0\tg_1)(PROGRAM = tg4msql)))六、修改%GATEWAY_HOME%\network\admin\tnsnames.ora,增加内容如下:TG4 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = report)(PORT = 1522)) (CONNECT_DATA =(SERVICE_NAME = tg4))(HS = OK))七、修改数据库的tnsnames.ora,增加如下内容:(oracle数据库文件)TG4 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = report)(PORT = 1522)) (CONNECT_DATA =(SERVICE_NAME = tg4))(HS = OK))八、重新启动电脑后,启动透明网关的监听器。

Oracle访问sqlserver透明网关配置简要说明(doc 8页)

Oracle访问sqlserver透明网关配置简要说明(doc 8页)

Oracle访问sqlserver透明网关配置简要说明(doc 8页)Oracle 访问sqlserver 透明网关配置说明――编写人:陈命群一.简单业务描述:在现有企业的信息系统中存在着大量的异构数据库,如ORACLE/SQLSERVER等,那么在进行系统之间的数据整合过程中,将不可避免的涉及到异构数据库之间的透明/无逢的数据访问。

本文章将结合广钢ERP系统的后台ORACLE数据库与检斤系统的后台SQLSERVER数据库的透明网关的配置和访问。

二.简单技术描述:在ORACLE 中提供了与其他数据库连接的组件,如与SQLSERVER/DB2等,在安装了组件之后将可以通过配置监听器/数据库连接等来完成数据库之间的访问。

其中主要用到:透明网关代理、异类服务(Heterogeneous Services)数据库服务器情况:ORACLE 数据库地址:10.1.70.214 数据库SID:LTDDBSQLSERVER 数据库地址:10.1.70.185 数据库名:jjdtest 用户名:SA三.具体实现步骤:1.透明网关的安装:注意:(1)透明网关可以不安装在与ORACLE数据库同台机器上,但是因为它是安装数据库的一部分,所以在安装网关的同时将会安装数据库,所以如果不是特殊情况,可以将透明网关安装在数据库服务器上。

(2)安装过程中可以同时配置远程数据库的地址和数据库名。

2.为透明网关配置网络监听器:注意:(1)oracle通过tns监听客户端的连接请求,所以tns监听必须与透明网关配置在同一机器上,所以更加需要网关与数据库安装在同一服务器上。

(2)tns配置文件的位置:%ORACLE_HOME%\NETWORK\ADMIN\LISTENER.ORA.(3)需要加入参数:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = GATEWAY_SID)(ORACLE_HOME = ORACLE_HOME_DIRECTORY)(PROGRAM = tg4msql))(4)举例:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.70.214)(PORT= 1521)))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = tg4msql)(ORACLE_HOME = E:\oracle\ora92)(PROGRAM = tg4msql))(SID_DESC =(GLOBAL_DBNAME = rmdb)(ORACLE_HOME = E:\oracle\ora92)(SID_NAME = rmdb)))(5)如果有多个网关,红字部分继续添加。

Oracle使用透明网关访问sql server

Oracle使用透明网关访问sql server

Oracle使用透明网关访问Sql Server
因为业务系统需要,必须要从oracle传送数据,所以便在网站查了一大堆的资料,也走了很多弯路,不过现在总算成功了,于是想把记录下,供大家参考。

Oracle与sql server之间的数据共享有三种方式:
1.使用Oracle自带的透明网关工具连接。

2.使用Sql server链接服务器工具连接。

3.自己编写程序做为数据中转站达到共享的目的。

经过考虑,第三种方法首先被抛弃了,因为太麻烦了,呵呵。

第二种方法也可以,但是考虑到系统需要在Oracle 数据中发生变化时才触发更新SQL里相应的数据,所以第二种方法也不行,只有用第一种方案了。

先介绍一下当前服务器情况:
服务器A:
系统:Windows Server 2003 企业版R2
数据库:Oracle 9.2
IP:192.168.0.8
192.168.1.8
服务器B:
系统:Windows Server 2003 企业版R2
数据库:Sql server 2000 Sp4
IP: 192.168.0.51
1、下面主要是对服务器A进行操作,首先安装SQL SERVER客户端,如果没有手头上没有客户端也没有关系,可以直接装服务端,选择自定义安装-》仅安装客户端,如下图所示。

2、安装Oracle 9.2,这里可根据自己需求安装,我们选择默认的安装。

3、安装透明网关For sql server 软件,打开“开始”->“程序”->“Oracle Installation Products”->“Universal Installer”。

oracle 11g透明网关配置(访问ms sqlserver2008)

oracle 11g透明网关配置(访问ms sqlserver2008)

Gateway For SQL Server配置文档作者:日期:2015-02-09背景:应用需要访问sql server中表的数据,oracle 透明网关是oracle 连接异构数据库提供的一种技术。

因此考虑采用Oracle Gateway For SQL Server来访问SQL Server数据库。

环境:安装方法:1.安装透明网关安装很简单,只要选择For SQL Server组件即可,这里就不截图了;在安装完后,要求配置监听,这里我们不配置,在下面的介绍中我们会手动配置。

2.透明网关安装配置打开透明网关的安装目录,我安装的目录是D:\product\11.2.0\tg_1,然后进入到D:\product\11.2.0\tg_1\dg4msql\admin目录下,打开文件initdg4msql.ora文件。

该文件的格式是init.ora,这里的SID在后面需要用到,系统默认的是dg4msql,一般情况这样就可以了。

如果改名,在之后使用这个修改后地名字即可,配合使用Test,则文件名变成initTest.ora。

该文件是Gateway的初始参数文件,描述连接的是哪个SQL Server数据库。

文件内容如下:3.配置监听(D:\product\11.2.0\tg_1\dg4msql\admin) 在listener.ora文件中加入如下内容4.配置tnsnames.ora文件(D:\product\11.2.0\tg_1\dg4msql\admin) 在tnsnames.ora文件中加入如下内容5.创建连接服务器即DBLink也可以使用以下方式创建,这样就无需tnsnames.ora文件中添加。

oracle透明网关访问sqlserver2000

oracle透明网关访问sqlserver2000

oracle 10g透明网关访问sqlserver2000 收藏一、环境如下:ORACLE 10g 安装在:192.168.0.250 的window2003 server(版本:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production)SqlServer 2000安装在:192.168.0.233 的window2003 server二、下载透明网关(GA TEWAY)10g下,透明网管是一个单独组件,可以到oracle官方网站下载/technology/software/products/database/oracle10g/htdocs/10201winsoft.ht ml这个安装包有300m。

可惜只找到秀明网关版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 32bit Production三、安装透明网关将透明网关安装在sqlserver服务器上,点击setup.exe,启动安装界面,安装oracle transparent gateway for microsoft sql server;下一步,输入sqlserver地址和sqlserver 数据库名,这里可以输入正确的,也可以随便输入,或者留空,现安装完成后再配置。

安装完后,会弹出配置监听界面,点击取消即可。

整个过程安装在点类似DB安装或client安装。

四、配置透明网关参数文件找到透明网关路径:D:\oracle\product\10.2.0\tg_1\tg4msql\admin安装透明网关时会生成一个默认参数文件:inittg4msql.ora,它的sid是tg4mssql,可以使用这个文件,也可以新建一个文件。

现在COPY一份命名为initUFDATA_002_2009.ora,名字最好与SQL SERVER数据库一致,且要注意格式:init<sid>.ora,可以理解为oracle的参数文件,现在编辑参数文件:# This is a sample agent init file that contains the HS parameters that are# needed for the Transparent Gateway for SQL Server## HS init parameters#HS_FDS_CONNECT_INFO="SERVER=192.168.0.233;DA TABASE=UFDATA_002_2009"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVERHS_FDS_CONNECT_INFO设置有多种格式,如:HS_FDS_CONNECT_INFO=server_name.db_name,但这种写法server_name不能为IP,且端口必须为默认的1433,如:在安装透明网关如果设置服务器和数据库即为上面格式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方法一:注意:确保外部可以通过命令telnet IP Port连通.1.准备:一台SQLServer主机 OS : windows2003 + SqlServer2000 ip: 10.86.16.27一台透明网关主机 OS : windows2003 ip: 10.86.184.250一台Oracle10g数据库 OS: Linux + Oracle 10g ip:10.86.17.1002.在透明网关主机上安装10201_gateways_win32.zip :运行Setup进行安装, 选择oracle transparent gateway for microsoft sql server .并完成安装.在安装目录下D:\oracle\product\10.2.0\tg_1\tg4msql\admin 新建名称为init<SID>.ora的文件 , <SID>可以随便起名.这里我起名为:inithowey.ora 内容如下:10.86.16.27为SQlServer主机IP .Smartit为SQLServer数据库名称:HS_FDS_CONNECT_INFO="SERVER=SERVER=10.86.16.27;DATABASE=SmartIT"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER3.在透明网关主机上配置listener.ora , 所在位置如下:D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN 内容如下:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)(PROGRAM = extproc))(SID_DESC=(SID_NAME=howey)(ORACLE_HOME=D:\oracle\product\10.2.0\tg_1)(PROGRAM=tg4msql)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.86.184.250)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))4. 启动windows透明网关监听D:\oracle\product\10.2.0\tg_1\BIN>lsnrctl startLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 31-3月 -2009 15:50:14 Copyright (c) 1991, 2005, Oracle. All rights reserved.正在启动 tnslsnr: 请稍后...TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production系统参数档案是 D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora日志信息写入 D:\oracle\product\10.2.0\tg_1\network\log\listener.log监听之处: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.86.184.250)(PORT=1521)))监听之处: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))连线至 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.86.184.250)(PORT=1521)))监听器的状态------------------------别名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production启动日期 31-10月 -2011 15:50:15正常运作时间 0 days 0 hr. 0 min. 1 sec追踪层次 off安管 ON: Local OS AuthenticationSNMP OFF监听器参数档案 D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora监听器日志文件 D:\oracle\product\10.2.0\tg_1\network\log\listener.log监听终止点摘要...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.86.184.250)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))服务摘要...服务 "PLSExtProc" 有 1 个执行处理.执行处理 "PLSExtProc", 状态 UNKNOWN, 有 1 个此服务的处理程序...服务 "howey" 有 1 个执行处理.执行处理 "howey", 状态 UNKNOWN, 有 1 个此服务的处理程序...命令顺利完成5在Oracle数据库上配置tnsname.ora文件:HOWEY =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.86.184.250)(PORT = 1521))(CONNECT_DATA = (SID = howey))(HS = OK)))HOWEY =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.86.184.250)(PORT = 1521))(CONNECT_DATA = (SID = howey))(HS = OK))测试连通性:[oracle@qhdtest admin]$ tnsping howeyTNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 31-OCT-2011 16:54:20 Copyright (c) 1997, 2005, Oracle. All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.86.184.250)(PORT = 1521)) (CONNECT_DATA = (SID = howey)) (HS = OK))OK (0 msec)6.创建数据库连接SYS@qhdtest:SQL> create database link smart connect to sa identified by sasa using 'howey';7. 在Oracle上测试数据库连接:SYS@qhdtest:SQL> select count(*) from dbo.sysobjects@smart;COUNT(*)----------624测试成功.附过程中出现的一些错误总结:注意点1:1、SYS@qhdtest:SQL> select count(*) from dbo.sysobjects@smart_link;select count(*) from dbo.sysobjects@smart_linkERROR at line 1:ORA-28545: error diagnosed by Net8 when connecting to an agentUnable to retrieve text of NETWORK/NCR message 65535ORA-02063: preceding 2 lines from SMART_LINK答案:其实此错误是由于Oracle和透明网关通信出现错误.可打开透明网关1521端口解决.并使用tnsping命令验证.如果三者都装在一台机器上,也一定要保证网络连通,因为这样的访问必须要通过网关.网上很多关于此错误的解决方式:用如下语句建立DBlink, 注:用户名和密码要用””双引号SYS@qhdtest:SQL> create database link smart_link connect to "sa" identified by2、"sasa" using 'howey'; 其实只有访问SQLServer2005时,密码必须要用双引号.用户名不用在访问SQLServer2000中用户名,密码加不加双引号没有任何关系.注意点2:SYS@qhdtest:SQL> select count(*) from dbo.sysobjects@smart_link;ERROR at line 1:ORA-02068: following severe error from SMART_LINKORA-03135: connection lost contact最终解决:数据库的tnsname.ora修改为:HOWEY =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.86.184.250)(PORT = 1521))(CONNECT_DATA = (SID = howey))(HS = OK)))由于以上tnsname.ora文件是手工编写,括号错误,导致出现ora-02068 和 03135这2个找不到原因的ora 错误.注意点3:在访问SQLServer2005的时候出现了一个问题,就是在oracle执行查询SQLServer过程中没有结果返回,就是错误信息也没有.解决方法:运行$ORACLE_HOME/rdbms/admin/caths.sql 脚本. 此脚本为创建HS所需表及视图表方法二:下载对应版本的Database Gateway,ora 11g linux_x86 32位版的大概440M。

相关文档
最新文档