SQL SERVER 连接 oracle

本文介绍如何在SQLSERVER与Oracle之间建立接口连接,主要内容包括:安装oracle客户端以支持ODBC驱动;创建本地NET服务名以实现远程访问;在SQLSERVER中建立链接服务并设置登录凭证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好记性不如烂笔头

---------------------------

背景:

 

公司的一个项目需要与易拓ERP做接口(我们用的是SQL SERVER),我恰好被安排负责这个事情,要完成这个任务主要有2方面的事情要做:

1. 业务接口,主要是内容及流程方面的一些事情,这里就不多说了。

2. 技术实现,以前接口这方面也没做过,想了一些也就2种方法吧,要么写个单独的程序负责oracle和SQL SERVER之间的读写,要么就直接数据库和数据库之间自己处理,最后决定直接在SQL SERVER里建链接服务全权处理oracle数据库的读写,因此才有了这篇文章。

 

另用的是oracle10g和SQL SERVER2005。

 

主要步骤:

假设oracle数据库在A电脑上,SQL SERVER数据库在B电脑上。

1. B电脑上安装oracle客户端,SQL SERVER链接服务需要通过ODBC连接oracle,但需要安装SQL SERVER连接oracle的ODBC驱动(oracle客户端包含了这个驱动)。

 

2. 在B上用oracle本地NET创建向导工具创建一个本地NET服务名,这个东西主要用于远程访问oracle的,相当于用一个本地服务名XX(一般和要链接的oracle服务名一样)来映射A电脑的IP地址和oracle服务名(重要,除非oracle和sql server在同一台电脑上,则不需要此步骤)。

 

3. SQL SERVER里建立链接服务:

 

exec sp_addlinkedserver 'LINK_TIPTOP','Oracle','MSDAORA','XE'

-------------------------新建链接服务,XEoracle的服务名(上文提到的本地服务名)

 

exec sp_addlinkedsrvlogin @rmtsrvname = N'LINK_TIPTOP',

@locallogin = NULL , @useself = N'False',

@rmtuser = N'SYSTEM', @rmtpassword = N'1234'

-------------------------新建链接服务登陆账号,SYSTEM,1234oracle用户名和密码。


--以上XESYSTEM1234需要根据具体情况修改。

以上也可在sql server客户端上界面操作

 

最后可以测试一下是否连接成功

select * from openquery(LINK_TIPTOP,'select * from SYSTEM.HELP')

 

 

 

需要注意的地方:


1. 如果安装oracle客户端的时候把服务端也安装了(都有本地NET服务名配置工具),此时只有用服务端的工具才有效(可能解析的时候服务端的那个优先,网上也有看到类似的问题,通过改系统环境变量和卸载掉一个解决的)。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值