社区
非技术区
帖子详情
oracle如何与sql server的连接
lyhliuyanhong
2010-10-29 09:22:54
Oracle 10g如何和sql server建立连接,访问sql server数据库?谢谢
...全文
389
10
打赏
收藏
oracle如何与sql server的连接
Oracle 10g如何和sql server建立连接,访问sql server数据库?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lonenan
2011-01-13
打赏
举报
回复
oracle 与sql server的交互很麻烦,以前oracle的市场份额很大,所以不用考虑和其他数据库小弟的交互问题,现在今非昔比,sql server这些中小数据库近来状态神勇,市场份额攀升,oracle很多时候需要与其交互,这时,繁琐的透明网关方式就很不给力,而且,我看oracle暂时也不会出其他更好的解决方案吧,大家如何以为呢
心中的彩虹
2011-01-12
打赏
举报
回复
透明网管 谷歌搜下 耐心点
灰哥
2011-01-12
打赏
举报
回复
[Quote=引用 7 楼 lxyzxq2008 的回复:]
Oracle与SQL Server的互连
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还……
[/Quote]
顶,楼上这哥们肯定是在哪摘来的.
3、安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确:
HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"
步骤3,你这样写楼主是弄不出来的,实际的写法是:
HS_FDS_CONNECT_INFO=hostname<主机名>//pubs<数据库名>
这样才会看到结果...
lxyzxq2008
2011-01-10
打赏
举报
回复
Oracle与SQL Server的互连
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
下面是具体步骤,如有疑问欢迎和我联系,MSN: gototop_ncn@hotmail.com。
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行。
------------ www.ncn.cn ------------- gototop --------------
以上示例,oracle server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle server中通过透明网关来访问sql server的数据。下面是示例:
现在这个oracle server上添加tnsname。
------------ www.ncn.cn ------------- gototop --------------
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、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。
ckdmff101429
2011-01-10
打赏
举报
回复
通过第三方软件就可以了
灰哥
2011-01-09
打赏
举报
回复
呵呵,透明网关 ,现在正在学习,不过还没弄出来!哎....真杯具 ;
sy_ivysunlenovo
2011-01-07
打赏
举报
回复
1楼 顶, 透明网关 ,也不是麻烦
小谷
2011-01-04
打赏
举报
回复
我也想知道。。
lyhliuyanhong
2010-10-29
打赏
举报
回复
非常感谢
hx_java
2010-10-29
打赏
举报
回复
配置透明网关,可以实现你要的功能. 不过比较繁琐,不知有没简单的做法
DbVisualizer驱动文件(
oracle
和informix)
DbVisualizer远程
连接
数据库的驱动,很实用的!
sql
server
配置
连接
oracle
,
Sql
Server
连接
oracle
配置方法
一、配置
oracle
管理器二、在
SQL
SERVER
中,链接服务器->访问接口->OraOLEDB.
Oracle
->右键属性,选中 "Allowinprocess" (中文为:允许进程内)三、在
sql
server
数据库查询管理器中执行EXEC sp_addlinked
server
@
server
=N'OraclMid',--要创建的链接服务器别名@srvproduct=N'O...
实战化课程:全面掌握
SQL
Server
高可用技术,从菜鸟到专家
本课程根据讲师十多年在世界500强外企的生产环境中的
SQL
Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下
SQL
Server
高可用场景,课程中不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划表格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境中实施
SQL
Server
高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版
SQL
Server
AOAG - 95%以上的企业环境都是在域环境中,不介绍非域环境和标准版的
SQL
Server
高可用性组,这的配置在企业中较罕见,没有实践意义,不浪费学员时间。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验中
SQL
Server
均已加域,直入主题,节省大量时间。3)最新的Windows
Server
故障转移集群(WS2016、WS2019)和最新版本的
SQL
Server
(
SQL
2017、
SQL
2019) - WS2016-
SQL
2017与WS2019-
SQL
2019是目前大多数企业
SQL
Server
高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续
SQL
Server
进阶课程铺垫,是通向
SQL
Server
DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划表格、各类脚本学员均可下载。
Oracle
与
SQL
Server
连接
方法
一. 访问外部数据库配置1.
SQL
_
SERVER
2005访问
ORACLE
数据库的配置
1) 在
SQL
_
SERVER
2005服务器上安装
Oracle
9i的客户端。假设安装到D:/
oracle
/ora92 目录。如果D:是NTFS分区,需要将
ORACLE
安装后的目录设为Everyone可运行、可添加、 可删除。
2) 配置D:/
oracle
/ora92/network/ADMIN/tnsnames。ora 文件。将以下代码拷入文件中
Sql
server
连接
Oracle
数据库
Sql
server
连接
Oracle
数据库
非技术区
1,617
社区成员
5,567
社区内容
发帖
与我相关
我的任务
非技术区
Oracle 非技术区
复制链接
扫一扫
分享
社区描述
Oracle 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章