Oracle中使用透明网关链接到Sqlserver(转)

测试环境介绍

1、ORACLEServer  

Database version:10.2.0

IP:192.168.1.5

ORACLE_HOME:D:\oracle\product\10.2.0\db_1

2、Oracle transparent Gateway Server

Version:10.2.0

IP:192.168.1.15

安装目录 D:\oracle\product\10.2.0\tg_1

3、MS sql server

Sqlserver Version:2008R2

IP:192.168.1.25

原有oracle数据库,sqlserver数据库都已经在用了,需要导一些数据到oracle数据库中。

Step1:安装ORACLE gateways 略……  在安装透明网关过程中会询问你需要为那些数据库配置,选择里面的for sqlserver 就行

Step2:配置透明网关下的相关文件;  接下来的服务器,数据库可以不填;现在我们要做的是复制 D:\oracle\product\10.2.0\tg_1\tg4msql\admin下的 inittg4msql.ora文件,并修改成名字为init<sid>.

ora我这里测试连接GSLIMSDB_NingBo库,为配置方便改名为G5,所以就是initG5.ora内容为:

Oracle中使用透明网关链接到Sqlserver
测试环境介绍
1、ORACLEServer 
Database version:10.2.0  IP:192.168.1.5
ORACLE_HOME:D:\oracle\product\10.2.0\db_1 2、Oracle transparent Gateway Server Version:10.2.0  IP:192.168.1.15
安装目录 D:\oracle\product\10.2.0\tg_1 3、MS sql server
Sqlserver Version:2008R2 IP:192.168.1.25 
原有oracle数据库,sqlserver数据库都已经在用了,需要导一些数据到oracle数据库中。
Step1:安装ORACLE gateways 略……
在安装透明网关过程中会询问你需要为那些数据库配置,选择里面的for sqlserver 就行
Step2:配置透明网关下的相关文件;
接下来的服务器,数据库可以不填;现在我们要做的是复制
D:\oracle\product\10.2.0\tg_1\tg4msql\admin下的 inittg4msql.ora文件,并修改成名字为init<sid>.

ora我这里测试连接GSLIMSDB_NingBo库,为配置方便改名为G5,所以就是initG5.ora内容为:


=========================脚===本===如===下============================
# 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.1.25;DATABASE=G5" HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
====================================================================== 
如果在安装时配置的话生成的HS_FDS_CONNECT_INFO=192.168.1.25.G5连接会出问题, HS_FDS_CONNECT_INFO的设置有多种格式,如:
HS_FDS_CONNECT_INFO=server_name.db_name,但这种写法server_name不能为IP,且端口必须为默认的1433,如:
HS_FDS_CONNECT_INFO=sqlserverhostname.G5

接下来是配置D:\oracle\product\10.2.0\tg_1\network\admin下的listener.ora文件

=========================脚===本===如===下============================
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

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 = G5)
          (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)

         (PROGRAM = tg4msql)     )   )

LISTENER =
    (DESCRIPTION_LIST =

     (DESCRIPTION =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
            (ADDRESS = (PROTOCOL = TCP)(HOST = rdserver2)(PORT = 1521))

     )

  )
======================================================================

这里的红色部分是新配置上去的,别的都是默认的,然后再配置 
D:\oracle\product\10.2.0\tg_1\network\admin下的tnsnames.ora文件:


=========================脚===本===如===下============================
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\tg_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools. 
EXTPROC_CONNECTION_DATA =

   (DESCRIPTION =

     (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

     )
       (CONNECT_DATA =
            (SID = PLSExtProc)

          (PRESENTATION = RO)

      )

     )

G5= 
    (DESCRIPTION=

      (ADDRESS= 
              (PROTOCOL=TCP)(HOST=192.168.1.25)(PORT=1521))

                  (CONNECT_DATA=

                      (SID=G5)

        ) 
       (HS=OK)

        ) 
======================================================================

Step3:启动或重新加载监听
 
查看监听状态

Step4:在oracle数据库上创建dblink 连接 sqlserver2008
=========================脚===本===如===下============================
create public database link con_mssql connect to "sa" identified by "password"

using ‘(DESCRIPTION=

        (ADDRESS=
              (PROTOCOL=TCP)(HOST=192.168.1.15)(PORT=1521))

                  (CONNECT_DATA=

                       (SID=G5)

       ) 
   (HS=OK)

)‘;
====================================================================== 
然后就可以测试: 
=========================脚===本===如===下============================

selectcount(*) from [email protected]_mssql; 
====================================================================== 
执行后不会出错,有结果那么透明网管配置完成;

时间: 2024-10-29 16:26:10

Oracle中使用透明网关链接到Sqlserver(转)的相关文章

SharePoint 2010 中创建超链接到Pop-Up对话框

SharePoint 2010 中创建超链接到Pop-Up对话框 SharePoint 2010 推出了新式的带有阴影的弹出对话框,你感觉怎么样?我感觉倒是挺酷的.这样少打开了一个页面,省事多了,而且不会让用户迷惑,在不同页面中穿梭.问题是在你的页面中,如何创建自定义的超链接,放在Pop-Up对话框里呢? 其实方法真的很简单,使用一个SharePoint内置的JavaScript功能就可以了.(PS:在SharePoint 2010中测试可用,因为我没有2013..) 这里给出两种方法.加到快速

VS2010中oracle数据库通过透明网关,调用sqlserver 数据库,在读取sqlserver数据库中出现问题???

http://www.midifan.com/moduleuser-index-426587.htmhttp://www.midifan.com/moduleuser-index-426595.htmhttp://www.midifan.com/moduleuser-index-426639.htmhttp://www.midifan.com/moduleuser-index-426696.htmhttp://www.midifan.com/moduleuser-index-426810.htm

sqlserver数据导入到oracle中

原来的网站数据存储在sqlserver中,梳理好数据表的字段关系,需要导入到oracle数据库中.网上提供了若干解决方法.其中一个是在服务器有sqlserver和oracle的情况下直接进行导出工作.这个操作我尝试了,没有成功.之前的时候access可以导入到oracle中,然后就考虑把sqlserver的数据导入到access中.实际的操作是: 1.sqlserver到excel: 直接打开一个excel 2.excel到access access外部数据---〉excel,选择对应的exce

oracle中spfile和pfile详解

在9i 以前,Oracle 使用pfile 存储初始化参数配置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效:使用spfile 您能够使用ALTER SYSTEM 或ALTER SESSION来动态修改那些可动态修改的参数,任何更改能够立即生效,您能够选择使更改只应用于当前实例还是同时应用到spfile.这就使得任何对spfile 的修改都能够在命令行完成,我们能够完全告别手工修改初始化参数文档,这就大大减少了人为错误的发生.SPFILE 是个二进制文档,能够使用RMAN 进行备份,

SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑

本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症.可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了.它们的命运注定慢慢消亡.然而偏偏却又生命力顽强,总还有一些人在使用着这些系统.所以就处在一种尴尬的境地: 升级吧,价值不大,可能再过一两年,这系统就要被其它系统替代了.而且项目经理也没有精力.人手耗费在这上面.最

SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例

前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER Native Client版本问题,没想到不过几天,自己就一脚踩到这个坑里面了,真是感概万千,下文主要讲述一下SQL SERVER Native Client 10的安装过程. 网上搜索SQL SERVER Native Client 10的下载地址,搜索到一堆乱七八糟的地址.没有看到官网的下载地址

ORACLE中CHAR、VARCHAR、NVARCHAR

1. char 固定长度,最长n个字符. 2. varchar 最大长度为n的可变字符串. (n为某一整数,不同数据库,最大长度n不同) char和varchar区别: varchar必char节省空间,但在效率上比char稍微差一些. 说varchar比char节省空间,是因为varchar是可变字符串,比如:用varchar(5)存储字符串“abc”,只占用3个字节的存储空间,而用char(5)存储,则占用5个字节(“abc  ”). 说varchar比char效率稍差,是因为,当修改var

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

oracle 中top-n的使用

对于ms sqlserver数据库中可以直接使用top(n)提取前N 个结果,而oracle中并不能直接使用的.oracle中提供了对于提取前N 条的结果的方法  那就是用行编号 例如:select [column_list],ROWNUM from ( select [column_list] from table_name ORDER BY top-n_column ) where ROWNUM <= N; 通过改变where中的rownum的范围,可以提取自己想要的行数(例如前三条,后三条