关于Oracle11g数据库链接sql server 通明网关配置

                      公司最近一个项目,用的数据库是Oracle,但是需要从以前做的项目获取数据源,但以前的项目的数据库是 sql server,这样就一个问题摆在我们面前,Oracle通过怎样的机制去链接sql server?我下面以我本地电脑做服务器如何配置Oracle透明网关,来节省IT同行遇到同样的问题的解决的时间,并也以此来回报网上所有的同仁给我的启示,来促使我一步一步找到问题解决办法。

          (一) 安装oracle11g数据库

                  操作系统是:,下载的oracle数据包为:,所安装的目录为:

安装路径可以随意,没有特殊规定,我在这儿说明,是为了以后的oracle数据库配置文件要和此路径一致。

默认端口是1521.

 

                   

          (二) 安装Oralce的链接sql server的透明网关

                    安装网关的压缩包为:。安装过程中需要注意的点为:要选择这个

 

   为sql server设计的网关;选执行典型配置:

网关安装的路径为:,没有特殊规定,我在这儿说明,是为了以后的oracle网关配置文件要和此路径一致。

 

 (三) 相关文件的配置

              1、网关路径下的文件的配置:

                (a)  网关参数文件: initleadhealth.ora

                       这儿已经把文件已经更名,此文件的为参数文件,默认的文件名为:initdg4msql.ora,这个文件的命名格式为:init<sid>.ora此文件的路径为:

 

在此例子中sid是leadhealth,和链接的sql server的数据库名称一致,但是无需保持一致,我设置成一致,因为有网上的同仁说,设置成一致:可以避免一种错误(ORA-28545: 连接代理时 Net8 诊断到错误Unable to retrieve text of NETWORK/NCR message),后来经过实践证明,不是这么回事情,我会在后面的问题总结中会有具体说明。

 

此文件的配置内容如下:

            (b)  网关监听文件:

                     此文件的路径为:

 

此文件的配置内容如下图所示:

 网关配置好后,我们可以检验一下是否配置成功:

 

2. Oracle 数据库安装的路径下的文件的配置

 

     (a)  Oracle数据库主要文件tnsname.ora的配置

        此文件的路径:

 

此文件的内容如下:

 (b)   oracle 数据库监听服务配置文件listener.ora

      此文件的路径:

 

此文件的配置内容如下:

 

(四)  建立数据库链接并通过此数据库链接查看sql server数据库中的数据

     create database link hos connect to fororacle identified by "lsj" using 'leadhealth';  "leadhealth"为前面参数文件的sid.

 

   查看sql server数据库里的数据:

  

 

 在这儿要注意的是, sql server 中的字段要用双引号括起来,并区分大小写。

 

(五)总结及回顾和需要注意的两点问题

         通过以上的四个步骤,Oracle透明网关配置成功。如果没有配置成功,大都是文件配置的问题,本人在实操中,遇到三个问题花了不少时间,特意在此强调一下:

        1、网关安装路径建议安装在oracle数据库安装路径的并列位置,如果网关数据和oracle数据库在同一台服务器,参考本人安装的文件路径,千万不要安装在 db_home1下,否则会出现一些意外的错误,因为网关安装时和数据库路径下面,会覆盖oracle数据库一些路径下的文件。如下图所示:

 2、 报“ORA-28545: 连接代理时 Net8 诊断到错误Unable to retrieve text of NETWORK/NCR message 65535ORA-02063: 紧接着 2 lines (起自 hos)”的处理:

         通过本人不断的测试,发现此种情况是oracle数据库设置的默认端口(1521)和网关设的端口(1521)(在oracle数据库服务器和网关服务器是同一台服务器

  的情况下) 冲突所致,把网关的端口改为 1522,此问题在后来的调试中,没有出现过,出现这种问题,是不是此种原因,还有待验证。

 

3、报“监听程序当前无法识别连接描述符中所给出的 SID”的处理

         在oracle数据库和网关监听服务配置文件(listener.ora),都加了段对oracle数据库默认实例orcl的描述的补充说明,内容如下:

   (SID_DESC =    
    (GLOBAL_DBNAME = ORCL)    
    (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)      
    (SID_NAME = ORCL)   
   )

    否必要需要两个监听配置文件需要加,还有待验证,本人测试了,好像两个文件都需要加。     

如果是用.net 链接oracle数据库,数据链接字符串要写全,要写成这样:

 

否则会报这样的错误:

 

 

       本人是初学Oracle数据库,如果有表述的不妥当甚至错误的地方,请来信或者留言指正,谢谢。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值