oracle通过透明网关(Oracle Transparent Geteways),访问ms sql server和其他数据库

环境:

1、在安装有oracle服务器端,ms sql server的客户端,通过oracle的透明网关访问ms sql server数据库

2、在ms sql server服务器上创建用户conn_ora,并且要能访问ms sql server数据库msdb

安装Oracle Transparent Geteways:

1、'开始'菜单的'Oracle Installation Products'下的'Universal Installer'

\\192.168.0.8\e$\数据工具\oracle9.2\ORANT920\ORA92_1\NT\I386\stage\products.jar

下一步-

2、选择安装类型:

自定义,下一步

3、选择可用产品组件:

将 'Oracle Transparent Geteways 9.2.0.1.0'下的'Oracle Transparent Geteways for Microsoft SQL Server 9.2.0.1.0'选中;

将 'Oracle Transparent Geteways 9.2.0.1.0'下的'Oracle Transparent Geteways for Sybase 9.2.0.1.0'选中;

下一步;

4、设置Sybase路径

选择你的'SYBASE的完整安装路径';

下一步

5、设置数据库服务器名 和数据库名称???

Microsoft SQL Server:192.168.0.111

Microsoft SQL 数据库:msdb

服务器名称或者ip地址,数据库名字

6、继续安装:

\\192.168.0.8\e$\数据工具\oracle9.2\ORANT920\ORA92_2\NT\I386\stage

\\192.168.0.8\e$\数据工具\oracle9.2\ORANT920\ORA92_3\NT\I386\stage

7、安装完成:

此时,oracle安装主目录下有了'tg4msql'目录

C:\oracle\ora92\tg4msql

设置环境参数,创建dblink:

1、C:\oracle\ora92\tg4msql\admin下的inittg4msql.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=ZZL;DATABASE=MSDB"

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

说明:

HS_FDS_CONNECT_INFO=ZZL.MSDB和

HS_FDS_CONNECT_INFO="SERVER=ZZL;DATABASE=MSDB"和

HS_FDS_CONNECT_INFO="SERVER=192.168.0.111;DATABASE=MSDB"

都可以,两种写法,其中‘SERVER’是服务器名称或者ip,DATABASE是数据库名称,

当然,如果在192.168.0.111这台服务器上,有两个sql server实例,则使用‘服务器名\实例名’的方式设置上面的SERVER值,

如:HS_FDS_CONNECT_INFO="SERVER=ZZL\MSSQLSERVER;DATABASE=MSDB"

2、设置listener.ora文件

位置:C:\oracle\ora92\network\admin

文件内容:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = C:\oracle\ora92)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = orademo)

(PROGRAM = orademo)

(ORACLE_HOME = C:\oracle\ora92)

(SID_NAME = orademo)

)

(SID_DESC =

(PROGRAM = tg4msql)

(ORACLE_HOME = C:\oracle\ora92)

(SID_NAME = tg4msql)

)

)

其中新增:

(SID_DESC =

(PROGRAM = tg4msql)

(ORACLE_HOME = C:\oracle\ora92)      #oracle的主目录

(SID_NAME = tg4msql)

)

3、配置tnsnames.ora文件

位置:C:\oracle\ora92\network\admin

文件内容:

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

SDLGDB =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SID = SSTORA)

(SERVER = DEDICATED)

)

)

ORADEMO =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SID = orademo)

(SERVER = DEDICATED)

)

)

zzl_sql200 =   #数据库连接名称,任意命名

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.111)(PORT = 1521))   #'192.168.0.111'为 oracle服务器的机器名

)

(CONNECT_DATA =

(SID = tg4msql)

)

(HS=OK)   #Oracle Server要调用异构服务来处理

)

其中新增:

zzl_sql200 =   #数据库连接名称,任意命名

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.111)(PORT = 1521))   #'192.168.0.111'为 oracle服务器的机器名

)

(CONNECT_DATA =

(SID = tg4msql)

)

(HS=OK)   #Oracle Server要调用异构服务来处理

)

4、配置init.ora.1115200612231

位置:C:\oracle\admin\orademo\pfile

将global_names设置为真值,及global_names=true

5、重新启动服务:

在window的开始的运行中执行:

net stop OracleOraHome92TNSListener

net stop OracleServiceORADEMO

net start OracleOraHome92TNSListener

net start OracleServiceORADEMO

说明:OracleOraHome92TNSListener 是监听服务,OracleServiceORADEMO是实例服务

6、创建dblink:

以普通用户登录oracle:如cs/cs@orademo

--drop DATABASE LINK link_zhaozhenlong;

CREATE  DATABASE LINK link_zhaozhenlong CONNECT TO "sa" IDENTIFIED BY "xxb" USING 'zzl_sql200';

说明:ms sql server的用户名和密码必须小写,而且要加双引号,

否则会报如下错误:

错误信息:

ORA-28500: connection from ORACLE to a non-Oracle system returned this messsage:

[Transparent gateway from MSSQL][Microsoft][ODBC SQL Server Driver][SQL Server]??

'sa'????? (SQL State:28000; SQL Code: 18456)

ORA-02063: preceding 2 lines from LINK_ZZL

错误原因:

在CREATE  DATABASE LINK LINK_ZZL的连接字符串中,ms sql server的用户名和密码必须小写,而且要加双引号

7、在pl/sql中执行:

select * from sysobjects@link_zhaozhenlong where rownum <=5;

结果如下:

1    sysrowsetcolumns    4    S  4   0   0   0   0   0   2005-10-14 1:36:15

2    sysrowsets               5    S  4   0   0   0   0   0   2005-10-14 1:36:15

3    sysallocunits            7    S  4   0   0   0   0   0   2005-10-14 1:36:15

4    sysfiles1                   8    S  4   0   0   0   0   0   2003-4-8 9:13:38

5    syshobtcolumns      13   S  4   0   0   0   0   0   2005-10-14 1:36:15

访问dblink时说明:

这是基于网关的方式,因此不能在断开网络的情况下本地的oracle连接本地的ms sql server

否则会报如下错误:

ORA-28545: error diagnosed by Net8 when connecting to an agent

NCRO: Failed to make RSLV connection

ORA-02063: preceding 2 lines from LINK_ZZL

oracle透明网关访问antdb,oracle通过透明网关,创建dblink,访问ms sql server和其他数据库 -......相关推荐

  1. sql server配置连接oracle数据库,MS SQL Server连接Oracle

    MS SQL Server连接Oracle 1.  安装oracle 10G客户端 要访问oracle数据库必须安装oracle客户端.安装oracle客户端有两种方式,即完整安装和立即安装,这两种方 ...

  2. Oracle 9i与MS SQL Server 2000之比较连载五.zz

    http://kb.cnblogs.com/a/1153156 Oracle 9i与MS SQL Server 2000之比较连载五 2008-04-14 18:13 四.Oracle中新的数据库对象 ...

  3. Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

  4. sql oracle 自增长字段,在Oracle、MySQL、MS SQL Server中创设自动增长字段

    在Oracle.MySQL.MS SQL Server中创建自动增长字段 好吧,今天面试有道题,要各个数据库怎么建立自增长字段,顺便复习一下吧,最近面试很多数据库问题... 一:Oracle Orac ...

  5. iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】

    iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post). Oracle设置 Xml代码   <!-- O ...

  6. oracle忘记实例名,Oracle的安装和MS SQL Server实例名

    Oracle 初始密码: internal/oracle sys/change_on_install system/manager scott/tiger sysman/oem_temp 最后一个用户 ...

  7. ibatis中主键自动增长(Oracle,Ms sql server ,mysql)

    http://morning2008.iteye.com/blog/611528 iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pr ...

  8. Oracle 数据库、Microsoft SQL Server、MySQL 数据库三种常见数据库的区别深度剖析

    文章目录 前言 一.ORACLE 数据库 二.Microsoft SQL Server 数据库 三.MySQL 数据库 总结 前言 Oracle 数据库.Microsoft SQL Server.My ...

  9. MS SQL Server和Oracle对数据库事务处理的差异性

    背景 在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的差异性引起一些争论,因此记录我对数据库事务处理的想法. 简 ...

最新文章

  1. 内存管理[6]测试堆的内存占用情况
  2. Centos 安装 Solr
  3. Windows 08 R2_创建AD DS域服务(图文详解)
  4. 关于JSON的简介及取值以及常见面试题
  5. key位置 win10生成的ssh_Git实现ssh免密登录
  6. javaScript学习笔记之typeof, null, 和 undefined之间的对比
  7. Find the Kth number(找第K大数)
  8. 减去字符串_从文本字符串中提取指定值的6个超级技巧解读
  9. 化妆品行业组合解决方案
  10. 赛事+内容IP齐发力,汽车之家打破Z世代次元壁
  11. Latex插入文献--利用谷歌学术
  12. 中央电视台最常用的 100 首经典背景乐曲(视频制作音乐推荐) 2009-05-12 17:31:47
  13. Pale Moon 15.3 - Firefox“苍月”优化版发布
  14. 郑捷《机器学习算法原理与编程实践》学习笔记(第五章 梯度寻优)5.2 Logistic梯度下降法...
  15. 贝叶斯分类器,什么是朴素贝叶斯,后续为使用贝叶斯实现海量数据的邮件筛选。带源码数据集和解决思路
  16. Qt 自定义控件 标尺控件 QLsRuler
  17. Cron表达式范例:每隔5秒执行一次:*/5 * * * * ?
  18. 【每日论文】GenCo: Generative Co-training for Generative Adversarial Networks with Limited Data
  19. 【读点论文】Detect Faces Efficiently: A Survey and Evaluations,关于人脸检测的思考,综述型文章
  20. 蓝桥杯python组——猜生日

热门文章

  1. “工二代”烧了毕业证后
  2. 久等啦!MWC现场精华回顾,正式出炉!
  3. pywinauto实例图文详解,放心不是记事本
  4. Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程
  5. python四分位数怎么算_四分位数计算以及使用pandas计算
  6. 公积金房贷取消多项费用 楼市酝酿第三波救市
  7. 【愚公系列】2021年12月 Python教学课程 07-字典Dict
  8. matlab标题显示在下方
  9. bfs算法 c语言,基于BFS算法的贪吃蛇(一)----基本架构
  10. latex公式 换行