在oracle中通过链接服务器(dblink)访问sql server
在oracle中通过链接服务器(dblink)访问sql server
2013-10-16
一、 工作环境:
<1> Oracle数据库版本:Oracle 11g 运行环境 :IBM小型机 AIX 6.1
<2> SQL数据库版本: SQL 2005 R2 运行环境: HP DL 580 G6
二、 操作方式:利用透明网关,建立dblink ,访问SQL SERVER
- 1. 透明网关简介
ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。因此透明网关也是Oracle数据仓库和数据迁移中的一个重要组成部分。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
- 2. 透明网关安装
首先在官网上先下载个透明网关。网址(11g):
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
据说10g和11g的要单独下,9i的安装光盘里面有。另外找不到10g的透明网关,不确定11g的透明网关能否用于10g的数据库,本地环境无法测试。
- 3. [安装步骤]
步骤这里就不一个个截图了,基本就是“下一步”,下面是选组件的,选SQL SERVER的就可以了。安装结束后有监视器的设置,可以直接跳过。
三、
[透明网关目录:D:\app\HIS_LK\product\11.2.0\tg_1\]
[Oracle目录:D:\app\HIS_LK\product\11.2.0\dbhome_1]
- 4. 配置透明网关的监听listener.ora
其中listener.ora便是监听文件,配置他即可。
|
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = #SID是监听的标识,这个是默认名称,用了配本地的SQL SERVER (SID_NAME = dg4msql) (PROGRAM = dg4msql)#默认不变 (ORACLE_HOME = D:\app\HIS_LK\product\11.2.0\tg_1)#透明网关安装目录 #(GLOBAL_DBNAME = dg4msql) ) (SID_DESC = #SID是监听的标识,这个是新名称,用了配远程SQL SERVER (SID_NAME = kftest) (PROGRAM = dg4msql) (ORACLE_HOME = D:\app\HIS_LK\product\11.2.0\tg_1) #(GLOBAL_DBNAME = dg4msql) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = #host是透明网关服务器,可用ip。 #port为端口,oracle本身使用了1521端口,这里用1522 (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522)) ) ) |
- 5. 配置透明网关的数据库文件
Admin文件夹下默认存在安装透明网关时的数据库文件initdg4msql.ora。
数据文件命名规则:init+ SID(SID就是第3步中配置的SID_NAME),需要多个连接就建多个文件即可。
initdg4msql.ora文件内容:
|
#注意,连接的开头不需要server=,网上很多写了这个,其实不用写,写了会报错 HS_FDS_CONNECT_INFO="HIS_LK-PC\\MYMSSQL;DATABASE=THIS4_TEST" HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER |
initkftest.ora文件内容:
|
HS_FDS_CONNECT_INFO="172.16.40.117\\MSSQLSERVER2008;DATABASE=THIS4_TEST" HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER |
1. 6. 配置服务器的服务名配置文件tnsnames.ora
Oracle目录文件夹
在tnsnames.ora文件中增加以下内容即可
|
DG4MSQL =#名称,可自拟,这里和SID取成一样, (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = dg4msql) ) (HS = OK) ) kftest = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522)) ) (CONNECT_DATA = (SERVICE_NAME = kftest) ) (HS = OK) ) |
1.7. 创建服务器连接
语法
|
CREATE DATABASE LINK 连接名 CONNECT TO "user" IDENTIFIED BY "password" USING 'tg4msql' |
举例:
CREATE DATABASE LINK kftest CONNECT TO "sa" IDENTIFIED BY " " USING ' kftest'
[说明]
这边很郁闷,oracle不让输入空密码,这里输了个空格,测试的时候改了下sa的登录密码。这个没查处理方法。
删除连接语法
|
DROP PUBLIC DATABASE LINK 连接名 |
1.8. 查询测试
select * from wz_kfmck@kftest
请参考:在SQL Server 2005中连接Oracle,完成查询、插入操作(SQL中访问Orcale)
http://www.cnblogs.com/bribe/p/3351955.html
在oracle中通过链接服务器(dblink)访问sql server的更多相关文章
- 无法删除服务器 'old_server_name',因为该服务器用作复制过程中的发布服务器。 (Microsoft SQL Server,错误: 20582)
无法删除服务器 'old_server_name',因为该服务器用作复制过程中的发布服务器. (Microsoft SQL Server,错误: 20582) 2013-01-05 15:02 478 ...
- sql server中使用链接服务器访问oracle数据库
一. 安装配置oracle客户端 要访问orcale数据,必须在访问的客户端机器上安装oracle客户端. Orcale有两种形式的客户端: l 完整的客户端 包括访问服务器端数据库 ...
- [转]SQLSERVER存储过程调用不同数据库的数据_存储过程中通过链接服务器访问远程服务器
本文转自:http://blog.csdn.net/nnaabbcc/article/details/7967761 存储过程调用不同数据库的数据 在存储过程调用不同数据库的数据该如何做,比如在存储过 ...
- sql server 与oracle数据互导的一种思路--sql server链接服务器
思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...
- 1 sql server中添加链接服务器
1 链接到另一个sql server 的实例 exec sp_addlinkedserver @server= '服务器的地址',@srvproduct='SQL Server' go 分布式查询中 ...
- 创建链接服务器(dblink)
--创建链接服务器(dblink) exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrv ...
- sql server中创建链接服务器图解教程
转自sql server中创建链接服务器图解教程 1.展开服务器对象-->链接服务器-->右击"新建链接服务器" 注意:必须以数据库管理员身份登录(通常也就是sa帐号) ...
- ORACLE透明网关访问SQL Server配置总结
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...
- Oracle Gateways透明网关访问SQL Server
自己的本机安装了Oracle 12c,公司的平台需要同时支持Oracle与SQL Server,很多时候都有将数据从Oracle同步到SQL Server的需求.通过SQL Server的link S ...
随机推荐
- Codeforces 633D
题意: 给定n,和一个长度为n的序列. 让你在这n个数中找长度尽可能长的fib数列. 思路: 这题的数字是在1e9范围内的,所以最长的可能存在的fib数列官方的解释是90左右.有一种情况除外,就是0的 ...
- [HDU 2602]Bone Collector ( 0-1背包水题 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 水题啊水题 还给我WA了好多次 因为我在j<w[i]的时候状态没有下传.. #includ ...
- php不使用copy()函数复制文件的方法
本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下:下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php funct ...
- HTTP与HttpServlet
(1).HTTP协议 Web浏览器和服务器通过HTTP协议在Internet上发送和接收消息.HTTP是一种基于请求/响应模式的协议.客户端发送一个请求,服务器端返回对该请求响应. . (2).HTT ...
- ibatis cannot find <sql> pattern
"Could not find SQL statement to include with refid xxx"A: 认真把每个用到xxx的地方都看一遍
- I/B/P SP/SI
H264中I.B.P帧 I帧:只作为参考帧,采用帧内预测 B帧:以其前面的I帧或P帧和后面的P帧作为参考帧 P帧:只能以前面的I帧或P帧作为参考帧 H264中的SP SI SP和SI是H264中引入的 ...
- UVA 12651 Triangles
You will be given N points on a circle. You must write a program to determine how many distinctequil ...
- Testlink中分析结果的图表显示乱码
1.下载 tahoma.ttf 字体: 2.下载好后,我们将其放置到,testlink的安装目录的以下文件夹中: testlink/third_party/pchart/Fonts/ 接下来,修改配置 ...
- 使用git向github中添加项目并更新(备忘录)
今天使用Git&github&ST3时,发现ST3不仅是git插件不能push成功,使用sublimegit插件也不行. 可能是没有掌握sublimegit的使用技巧,有待后续继续摸索 ...
- Editplus 注册码
EditPlus 是一款功能强大的文字处理软件.它可以充分的替换记事本,它也提供网页作家及程序设计师许多强悍的功能.支持 HTML.CSS.PHP.ASP.Perl.C/C++.Java.JavaSc ...