透明网关diy

一、透明网关连接到一个sqlserver上

1、下载透明网关
10g下,透明网管是一个单独的组件,需要单独下载安装。
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
这个安装包有200多m。
2、安装
在10.10.10.2安装透明网关:
解压后,进入目录,点击setup.exe,启动安装界面,安装oracle transparent gateway for microsoft sql server;
下一步,输入sqlserver地址和sqlserver 数据库名,这里你可以输入正确的,也可以随便输入,或者留空,我们可以安装完成后再配置。
安装完后,会弹出配置监听界面,因为我们要手工配置,点击取消即可。
3、
默认情况下,安装透明网关时会生成一个默认的参数文件:inittg4msql.ora(D:\oracle\product\10.2.0\tg_1\tg4msql\admin),它的sid是tg4mssql,你可以使用这个文件,也可以新建一个文件。本例选择新建文件。

这个名字随便取,但要注意格式:init.ora,把它理解为oracle的参数文件就可以。这里例子用myl525
# 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=10.10.10.3;DATABASE=jss"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
HS_FDS_CONNECT_INFO的设置有多种格式,如:
HS_FDS_CONNECT_INFO=server_name.db_name,但这种写法server_name不能为IP,且端口必须为默认的1433,如:
HS_FDS_CONNECT_INFO=sqlserver.jss

4、配置监听
进入D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN下,编辑listener.ora文件:
注意:下面的ORACLE_HOME实际上指的是安装透明网关的主目录,sid_name要与上一步配置的参数文件的名称相对应:
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=myl525)(D:\oracle\product\10.2.0\tg_1)(PROGRAM=tg4msql))
   )

LISTENER =
   (DESCRIPTION_LIST =
        (DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST =网关地址 )(PORT = 1522))
                (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
   )

5、启动监听
进入$GATEWAY_HOMEBINlsnrctl start
F:oracleproduct .2.0 g_1 inlsnrctl start
C:>F:oracleproduct .2.0 g_1 inlsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 06-12月-2007 14:50:36
Copyright (c) 1991, 2005, Oracle.   All rights reserved.
启动tnslsnr: 请稍候...
Failed to open service , error 1060.
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为F:oracleproduct .2.0 g_1 etworkadminlistener.ora
写入F:oracleproduct .2.0 g_1 etworkloglistener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=suk)(PORT=1522)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=suk)(PORT=1522)))
LISTENER 的 STATUS
------------------------
别名                   LISTENER
版本                   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                06-12月-2007 14:50:38
正常运行时间              0 天 0 小时 0 分 1 秒
跟踪级别                off
安全性                    ON: Local OS Authentication
SNMP                   OFF
监听程序参数文件       F:oracleproduct .2.0 g_1 etworkadminlistener.ora
监听程序日志文件       F:oracleproduct .2.0 g_1 etworkloglistener.log
监听端点概要...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=suk)(PORT=1522)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
   例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "myl525" 包含 1 个例程。
   例程 "myl525", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
至此,在透明网关上的工作就算完成了。

6、tnsname.ora
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
添加如下内容:
myl525=
  (DESCRIPTION=
      (ADDRESS= (PROTOCOL=TCP)(HOST=透明网关ip地址)(PORT=1522)  )
      (CONNECT_DATA= (SID=myl525))
      (HS=OK) #这个很重要
  )

7、在服务器创建数据库链接

SQL> create database link dbjss connect to sa identified by "123456" using 'jss';

8、SQLServer数据库的表名,字段名,如果是小写的,那么在oracle里访问的时候要加上双引号""。

posted @ 2009-06-26 16:03  左少白  阅读(296)  评论(0编辑  收藏  举报