Oracle10g 通过透明网关访问SqlServer-2008R2 网关数据库一体

421398821 贡献于2015-03-21

作者 Admin  创建于2012-09-13 04:43:00   修改者Administrator  修改于2014-09-10 02:44:00字数2273

文档摘要: 准备A机器:操作系统:WindowsServer2003R232位安装数据库:Oracle Database 10g第2版(10.2.0.3.0)安装路径:D:\oracle\product\10.2.0\db_1安装10g数据库透明网关:10201_gateways_win32安装路
关键词:

 Oracle10g通过透明网关访问 SqlServer-2008 R2 一、 准备 A机器: 操作系统:Windows Server 2003 R2 32位 安装数据库:Oracle Database 10g 第2版 (10.2.0.3.0) 安装路径:D:\oracle\product\10.2.0\db_1 安装10g数据库透明网关:10201_gateways_win32 安装路径:D:\app\asus\oracle\product\10.2.0\tg_1 B机器:192.168.1.103 操作系统:Windows 7旗舰版 安装数据库:SQL Server 2008 R2 64位 *:网关和SQL数据库在一起,便于管理。也可单独安装一台机器。 二、 配置 B机器上安装了SQL和透明网关后, 在安装目录下D:\app\asus\oracle\product\10.2.0\tg_1\tg4msql\admin下新建init文件,这里我沿用inittg4msql,所以sql2008数据库tg4msql必须存在 inittg4msql的配置内容如下 透明网关主机上的listener.ora的配置内容如下(端口由于1521占用,故采用1522) # listener.ora Network Configuration File: D:\app\asus\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:\app\asus\oracle\product\10.2.0\tg_1) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = tg4msql) (ORACLE_HOME = D:\app\asus\oracle\product\10.2.0\tg_1) (PROGRAM = tg4msql) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = asus-PC)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) ) 重启windows监听服务,确保透明网关服务启动 透明网关主机上的tnsnames.ora的配置内容如下(端口由于1521占用,故采用1522) # tnsnames.ora Network Configuration File: D:\app\asus\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 = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) tg4msql= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.103)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = tg4msql) ) (HS=OK) ) 下来在A机器上的D:\oracle\product\10.2.0\db_1\network\ADMIN\TNSNAMES.ORA添加 tg4msql = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.1.103)(PORT=1522)) (CONNECT_DATA =(SID=tg4msql)) (HS=OK) ) 测试连通性,此时A机器上的tg4msql就会被B机器监听侦测解析到。 若报无监听错误,请检查B机器的网关监听服务是否配置正确并正常启动。 三、 创建DBLINK,并测试 在A机器上通过PL/SQL建立database link create public database link TG4MSQL connect to SA identified by “sa” using 'tg4msql'; tg4msql就是在TNSNAMES.ORA中的标识。 查询DBlink所见里的从sql2008读取数据的表。 四、 错误分析 1) ORA-02068:以下严重错误源于 TG4MSQL ORA-03135:连接失去联系 原因:Oracle数据库端的TNSNAMES.ora写法有误,仔细检查是否缺少(HS=OK)或括号是否多余或者有中文括号。 正确写法: tg4msql = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=192.168.1.103)(PORT=1522)) (CONNECT_DATA =(SID=tg4msql)) (HS=OK) ) 2)SQLSERVER端口确保可以telnet 192.168.1.103 1433通,否则执行dblink测试不通或一直等待下去(也不报错),再无响应。 解决:开始-所有程序打开如下操作 重启即正常telnet 192.168.1.103 1433通过 此时再测试执行,结果瞬间出现。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档