手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

在64位SQL Server中创建Oracle的链接服务器

时间:2024-10-14 22:47:37

当我们同时使用SQLServer和Oracle来存储数据时,经惘度谋裆常会用到跨库查询。为了方便使用跨库查询,一个最好的办法就是通过创建链接服务器来实禊耗髻编现。既可以在SQL Server中创建Oracle的链接服务器,也可以在Oracle中创建SQL Server的链接服务器。本文主要讲述如何在SQLServer中创建Oracle的链接服务器,可以通过图形界面和命令两种方式来创建。

工具/原料

Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack2

MicrosoftSQL Server 2005 Standard Edition x64

Oracle Provider for OLE DB

0. 前期准备工作——安装驱动

1、 如果用32位win2003操作系统,会有系统自带的Microsoft OLE DB Provider for Oracle驱动,因此不需要做额外的准备工作,但如果使用的是64位系统,那么这个驱动是没有的,并且微软也不提供这个驱动的64位版本,因此,此时只能使用Oracle提供的Oracle Provider for OLE DB这个驱动。 那么如何安装这个驱动呢?安装一个完整的Oracle11gR2程序也是一个有效的方法,但这个64位版本的安装包有2个多G,相当庞大,如果仅仅是为了建立链接服务器,完全没必要装这么个庞然大物。其实我们只需要到Oracle官网上下载ODAC压缩包即可。 至于如何安装ODAC,不是本文的重点,大家可以百度搜索我的另一篇文章——《Oracle数据访问组件ODAC的安装方法》。

1. 通过图形界面创建Oracle的链接服务器

1、打开Microsoft SQL Server Management Studio并以sa身份登录,在左侧的“对象资源管理器”窗口中展开“服务器对象”节点,在其下的“链接服务器”节点上右键选择“新建链接服务器...”,如图

在64位SQL Server中创建Oracle的链接服务器

2、在弹出的“新建链接服务器”对话框中,按照图示填写,具体填写项目说明如下:* 链接服剞脑惨丁务器:这是链接服务器的别名,名字可以由你自己随意决定* 服务器类型选择“其他数据源惯墀眚篪”* 访问接口:一定要选择“Oracle Provider for OLE DB”。如果是32位系统,还可以选择“Microsoft OLE DB Provider for Oracle”,但64位系统就只能选择前者* 产品名称:一定是“Oracle”,这是固定写法,只要是链接Oracle数据库,都得这么写* 数据源:是你要链接的Oracle数据库的库名。在我的Oracle数据库软件里,建立了一个名为ora的数据库,我想链接到这个名为ora的数据库,所以我这里的“数据源”填的就是“ora”,大家可以根据自己的实际情况来填写。填好以后不要急着去点击“确定”按钮。

在64位SQL Server中创建Oracle的链接服务器

3、再点击左侧“选项页”里的“安全性”,右边选择最下面的“使用此安全上下文建立连接”,然后在下面输入连接到ora(根据自己的实际情况来更改)数据库的用户名和密码。再点击“确认”按钮,至此,一个明文ORA_TEST的链接服务器就建好了。

在64位SQL Server中创建Oracle的链接服务器

2. 通过命令来创建Oracle的链接服务器

1、把下面两条命令语句补全,然后在SQL Server中执行即可创建成功:

2、EXECmaster.dbo.sp_addlinkedserver@server=N'别名',@srvproduct=N'库名',@provider=N'MSDAORA',@datasrc=N'TNS名'

3、EXECmaster.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'别名',@locallogin=NULL,@useself=N'False',@rmtuser=N'模式名',@rmtpassword=N'密码'

3. 测试查询Oracle数据库

1、select*fromopenquery(ORA_TEST,'SELECT*FROMtab')

4. 可能遇到的问题

1、在测试查询Oracle数据库时,有可能会遇到无法创建“OraOLEDB.Oracle”的实例的错误。这个问题可以在百度经验里搜索我的另一篇文章——《无法创建“OraOLEDB.Oracle”的实例的解决办法》。

© 手抄报圈