oracle 10g 连接 sqlserver---透明网关

时光总嘲笑我的痴心妄想 提交于 2019-12-08 11:54:41

需求:通过oracle访问sqlserver 数据库。

1.环境:sqlserver2000 与 oracle 10g 安装在同一台电脑上,且透明网关也安装在同一台电脑上。

             sqlserver 数据库:yltrq  用户为:admin

2.工具:oracle 透明网关,下载地址:http://download.oracle.com/otn/nt/oracle10g/10201/10201_gateways_win32.zip

3. 接下来是实现步骤:

a、 安装透明网关:点击安装上面下载的透明网关,选择sqlserver的网关安装,在配置监听器的时候为了为了避免和oracle数据库监听器同名,修改监听器名称为TG4MSQL,且监听端口为1522 或其他本机未使用端口。在配置连接数据库时,sqlserver 服务器为本机电脑名或ip地址,数据库为你你需要连接的数据库。

b、安装完成后进行透明网关配置:

a.1: 删除环境变量path中所有关于透明网关的环境变量。

因为此环境是数据库和透明网关在一台机机器上,二者的目录下都有LSNRCTL程序,所以为了防止混淆,在环境变量PATH中去掉了透明网关的条目。

这里把路径名及监听名写上是为了防止使用系统的环境变量,造成错误。

a.2:修改透明网关安装目录下....\tg4msql\admin\inittg4msql.ora文件

即假设%GATEWAY_HOME% = D:\oracle\product\10.2.0\tg_1

修改%GATEWAY_HOME%\tg4msql\admin\inittg4msql.ora

HS_FDS_CONNECT_INFO="SERVER=10.0.1.12;DATABASE=hist"

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

修改之后,修改文件名为inittg4.ora  (init<sid>.ora).若前面设置正确的,则只需要修改文件名,若需要连接到其他数据库也可以在次修改。

a.3:修改透明网关的监听器配置:%GATEWAY_HOME%\network\admin\listener.ora 如下:

TG4MSQL =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1522))  #注意这里的端口

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

    )

  )

SID_LIST_TG4MSQL =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = tg4)    #透明网关的SID

      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)

      (PROGRAM = tg4msql) #这里是固定的

    )

a.4:修改透明网关的%GATEWAY_HOME%\network\admin\tnsname.ora文件,增加Sid的配置:

TG4 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1522))   #注意这里的端口

    (CONNECT_DATA =

      (SERVICE_NAME = tg4)  #这里的SID必须与透明网关的SID

    )

    (HS = OK)     #这里必须写

  )  

a.5:重启透明网关服务,启动时可能遇到启动监听之后自动停止了:

解决:

1.在透明网关中NET MANAGERZ中的服务命名中的tg4的配置的地址写成主机名或127.0.0.1 ,应该与配置文件中相同。

2..在tnsnames.ora 文件%GATEWAY_HOME%\network\admin\tnsname.ora中的
EXTPROC_CONNECTION_DATA 配置位置在  TG4 配置之前,如果在之后,可能会出错。(本人这样出过错)

3.仔细检查这两个位置。其他的错误暂时还没发现,等发现了补上。

a.6:修改数据库的tnsnames.ora ,新增tg4的配置:

TG4 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1522))   #端口

    (CONNECT_DATA =

      (SERVICE_NAME = tg4)  #这里的SID必须与透明网关的SID

    )

    (HS = OK)     #这里必须写

  )

a7:验证网关是否通:cmd---> tnsping tg4

a8:创建数据库连接

create public database link tglk connect to admin identified by admin using 'tg4'

a9: 测试是否成功:select sysdate from dual@tglk;

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!