- 浏览: 555619 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (340)
- Spring (4)
- Hibernate (2)
- Linux (34)
- Oracle (145)
- Eclipse (1)
- UML (1)
- HTML&&JAVASCRIPT (11)
- JAVA (33)
- 设计模式 (1)
- 版本控制 (1)
- wrap框架 (3)
- IBATIS (5)
- Ruby (1)
- DWR (1)
- MINA (11)
- JBPM (2)
- 缓存技术 (4)
- 网络 (3)
- 应用服务器 (1)
- GWT (5)
- 杂谈 (2)
- ICE (4)
- XML (2)
- ArcGis (2)
- Flex (8)
- junit单元测试 (1)
- SNMP (1)
- 存储 (1)
- office (1)
- MongoDB (0)
- Greenplum (3)
- 管理点滴 (1)
- C++ (6)
- 网络入门 (3)
- Tomcat (7)
- JMX (0)
- webservice (1)
- Oracle的10046事件 (1)
- Library cache内部机制详解 (1)
- expdp通过dblink来导入 (1)
最新评论
-
yuanliangding:
有没有关于mock的更多知识。
基于mock对象和JUnit框架简化Spring Web组件单元测试 -
saup007:
ssh端口不是22,怎么搞呢?
Greenplum 学习笔记 -
springmvc-freemarker:
java开源项目源码实例下载
Apache上全部JAVA开源项目简介 -
bobbell:
哇塞,你真厉害,整理的非常全面。我是一个java barcod ...
Greenplum 学习笔记 -
wsj55133245513324:
这不是bug,你将日志级别从debug提升到INFO 就好了 ...
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
下面是具体步骤:
1、在SQL SERVER数据库上创建测试账号和表
这里我用的是10.16.74.140的PUBS数据库,账号cyx,
create table t (c char(10));
2、我测试所用数据库和透明网关是在同一台机器上,在我本机:10.16.98.16,透明网关在oracle默认安装时是不安装的,所以如果你想用需要选择这一选项。
3、安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确:
HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"
4、修改透明网关server上的listener.ora,在SID_LIST中加入以下内容:
(SID_NAME = tg4msql) # SID自己命名
(ORACLE_HOME = c )
(PROGRAM = tg4msql)
5、在oracle server上的tnsnames.ora中加入到透明网关的tnsname,内容如下:
sql2k =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #此处HOST填的是透明网关SERVER的地址
)
(CONNECT_DATA = (SID = tg4msql) ) #此SID应和透明网关SERVER上设定的SID相同
(HS=OK)
)
6、修改ORACLE SERVER的初始化参数,将global_names设为false,因为我们并不使用GLOBAL NAME。然后重起数据库。
7、现在在ORACLE SERVER上创建DB LINK就可以了。下面实验数据:
C:>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 6月 25 13:29:41 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/change_on_install as sysdba
已连接。
SQL> create user cyx identified by cyx default tablespace users;
用户已创建
SQL> grant connect to cyx;
授权成功。
SQL> grant resource to cyx;
授权成功。
SQL> conn cyx/cyx
已连接。
SQL> create database link tosql2k connect to cyx identified by cyx using
2 'sql2k';
数据库链接已创建。
SQL> select * from t@tosql2k;
c
abc
aaa
bbb
cyx
gototop
ncn
11111
已选择7行。
SQL> insert into t@tosql2k values('ncn.cn');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from t@tosql2k;
c
abc
aaa
bbb
cyx
gototop
ncn
11111
ncn.cn
已选择8行。
以上示例,oracle server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle server中通过透明网关来访问sql server的数据。下面是示例:
现在这个oracle server上添加tnsname。
hawk3$sqlplus cyx
SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 25 14:00:34 2003
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter password:
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SQL> create database link hawk3_sql2k connect to cyx identified by cyx
2 using 'sql2k';
Database link created.
SQL> select * from t@hawk3_sql2k;
c
abc
aaa
bbb
cyx
gototop
ncn
11111
ncn.cn
8 rows selected.
注:很多朋友问到关于透明网关的一些问题,在此加以说明如下:
1、Oracle For SQL Server的透明网关在UNIX下无法实现,目前只支持WIN; 原因很简单,SQL Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL Server。
2、Oracle For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。
3、Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。
4、针对我们的实际应用,如果有需要实现Oracle 到SQL Server的互连,我们需要另外用一台WIN下的Oracle 9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL Server。
5、不同数据库间的数据处理需使用标准SQL来实现。
6、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。
发表评论
-
expdp通过dblink来导入
2011-12-14 15:01 1779create.sql: spo create.log rem ... -
Library cache内部机制详解
2011-12-14 14:55 885Library cache内部机制详解 http://www ... -
Oracle的10046事件
2011-12-14 14:53 2092Oracle的10046事件,可以跟踪应用程序所执行的SQL语 ... -
REDO LOG MEMBER STATUS 和 REDO LOG GROUP STATUS
2011-12-14 14:51 924V$LOG 中列出的是REDO LOG GROUP STA ... -
oracle的exp/imp使用方法学习(转)
2011-08-30 08:54 954exp/imp两个命令可以说是oracle中最常用的命令了 ... -
oracle几个awr报告
2011-08-09 14:25 890工作中,碰到的数据库慢的几个awr报告 -
Oracle Profile 使用详解
2011-06-21 14:41 966一、目的: Oracle系统中的profile可以用来对 ... -
ORA-27013
2011-04-13 14:25 1510很新的一个bug,看下你的 memory_target是不是& ... -
ACLE表连接方式分析及常见用法
2011-03-23 09:14 1109摘要: 针对在数据仓库 ... -
ORACLE 外部表应用
2011-03-09 14:58 1062SQL> create or replace direc ... -
How to convert a 32-bit database to 64-bit database on Linux
2011-02-18 14:09 1209How to convert a 32-bit databas ... -
expdp impdp 数据库导入导出命令详解
2011-02-16 09:10 1948一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最 ... -
Oracle手工解/锁表
2011-01-25 14:15 2487手工锁表:lock table tbl_t1 in row ... -
oracle动态性能视图
2011-01-22 10:47 855Oracle动态性能视图个人整理 -
RBO规则介绍
2011-01-17 16:45 1057•无条件使用索引•使用内置的优先级别决定访问路径•比较难以 ... -
关于排序、sort_area_size、临时表空间
2011-01-13 15:30 1114简单陈述一下:针对每 ... -
创建索引ORACLE 需要做的工作
2011-01-13 14:53 1315一. 先来看一下创建索引要做哪些操作:1. 把inde ... -
表之间的连接
2011-01-13 10:42 791Join是一种试图将两个表结合在一起的谓词,一次只能连接2 ... -
重建索引的条件
2011-01-12 16:43 947如果索引存在碎片,那每个索引数据块上的索引数据就更少,会导致我 ... -
TKPROF使用学习
2011-01-10 17:38 716Tkprof工具可用来格式化sql trace产生的文件, ...
相关推荐
### SQLServer2008R2与Oracle11gR2互连 #### 1. 简介 SQLServer2008 R2与Oracle11g R2分别是Microsoft和Oracle公司推出的重量级数据库系统,在不同的应用场景下各自拥有优势。在实际的企业环境中,往往需要在两种...
总的来说,Oracle 10g通过透明网关技术实现与SQL Server 2000的互连,提供了跨数据库平台的数据访问能力,这对于多数据库环境的数据整合和迁移工作至关重要。正确配置后,用户可以在Oracle环境中透明地访问和操作SQL...
在企业环境中,数据库之间的互连是一项常见的需求,尤其是SQL Server与Oracle这两个广泛使用的数据库系统。互连不仅能够帮助业务进行无缝的数据交换和处理,还能够在数据分析和报表生成等方面提供便利。以下将介绍...
在这个“hsodbc-oracle 连接sqlserver等.zip”压缩包中,我们可以预见到它包含了与Oracle、SQL Server以及MySQL数据库间互连的相关资料和配置文件。下面将详细介绍HSODBC的功能、使用场景以及如何在这些数据库之间...
VB应用程序连接SQL Server数据库方法的探讨主要涉及在Visual Basic (VB)开发环境中实现VB应用程序与SQL Server数据库之间的连接。文档介绍了VB开发中可以采用的三种数据库访问方式,即数据访问对象(DAO)、远程数据...
数据库导入导出: 在Oracle里设置访问多个SQL Server 把图片上传到oracle表中 Oracle与SQL Server的互连. OralceandSQL2000通过数据链接 Oracle中导入文本数据的方法 数据迁移基础与ORACLE体系结构
透明网关是一种高级的数据互连解决方案,它允许用户通过Oracle数据库系统无缝地访问非Oracle数据库,如SQL Server,而无需了解底层数据源的细节。 **透明网关的概念** 透明网关是Oracle数据库的一个特性,它提供了...
### 精通SQL-02:深入了解SQLServer与Oracle #### SQLServer:全面解析与实战技巧 **一、SQLServer概述** SQLServer是微软公司出品的一款强大的后台数据库管理系统,以其卓越的功能和简便的操作,逐渐成为数据库...
这一技术允许Oracle数据库与诸如SQL Server、Sybase、DB2和Informix等异构数据库平台进行无缝通信,无需对现有应用进行大规模修改。透明网关的核心理念是提供一个接口,使得用户可以像访问Oracle数据库一样访问其他...
9. SQL Server特有的功能:文档中提到了“PersonalOracle7”和“InterBaseSQLI”,这可能指向了SQL Server与Oracle、InterBase数据库系统的一些互操作性或相似性。 10. 数据类型转换:教程中提到了“TO_CHAR”和...
服务器端的SQL Server服务负责处理所有文件,协调Transact-SQL语句的执行,而客户端则负责用户界面和前端处理,两者通过网络互连进行通信。 在SQL Server 2000中,Transact-SQL是主要的数据库交互语言,用于创建、...
本文将详细介绍如何通过ODBC(Open Database Connectivity,开放式数据库互连)技术让C#应用程序与MySQL及Oracle数据库建立连接,并实现事务处理。 #### 二、ODBC简介 ODBC是一种标准的API(Application ...
在.NET应用程序中使用ODBC(Open Database Connectivity,开放式数据库互连)驱动程序连接Oracle数据库是一种常见的解决方案。 #### ODBC简介 ODBC是一个开放标准的应用程序接口(API),它定义了数据库管理系统...
WinCC与其他工控软件包不同之处在于,它将数据保存在Microsoft SQL Server数据库中,这种数据库因其标准性和功能强大而被广泛采用。 为了便于在WinCC中访问数据库,文档提到了ODBC(开放数据库互连)技术。ODBC是一...
在本文中,我们将比较几种常见的数据库管理系统,包括SQL Server、Oracle、MySql、Access等。 SQL Server SQL Server是微软公司开发的一种关系数据库管理系统。其主要特点包括: * 高性能设计,充分利用Windows ...
在数据库系统中,由于存在多种不同的RDBMS,如Oracle、MySQL、SQL Server等,它们对SQL的支持程度、语法细节、数据类型、API接口以及存储过程等都有所不同,导致在同一RDBMS下开发的应用程序无法在其他RDBMS上直接...