在sql server 数据库上创建链接服务器,连接oracle数据库,访问接口需要设置为:“Oracle Provider for OLE DB”。

如果电脑上没有这个驱动,安装一个完整的Oracle11gR2程序是一个有效的方法,但这个64位版本的安装包有2个多G,

相当庞大,如果仅仅是为了建立链接服务器,完全没必要装这么个庞然大物。其实我们只需要下载ODAC压缩包即可。

下面总结如何注册:“Oracle Provider for OLE DB”这个驱动:

Part1.注册“Oracle Provider for OLE DB”:

1.下载ODAC112030Xcopy_x64.zip:

下载地址:http://download.csdn.net/detail/u014019244/9061209

2.解压ODAC112030Xcopy_x64.zip(我解压到了C盘下):

3. 在命令行界面进入解压文件夹后运行“install.bat oledb c:\oracle odac”安装:

4. 在系统环境变量中,为Path添加“C:\oracle;C:\oracle\bin;”

(计算机属性-高级系统设置-高级-环境变量-系统环境变量-Path):

选中“环境变量”中“系统变量”中的“Path”,点击“编辑”按钮,

在最前面添加“C:\oracle;C:\oracle\bin;”

5.重启计算机。

做完以上操作后,打开本机SQL Server Management Studio,新建链接服务器时,

“访问接口”下拉框会出现“Oracle Provider for OLE DB”。

Part2.新建链接服务器:

  1. 打开本机SQL Server Management Studio连接到本机数据库;
  2. 展开“服务器对象”;
  3. 选择“链接服务器”-右键-“新建链接服务器”;
  4. 在“新建链接服务器”的窗口里,选择“常规”;
  5. 输入“链接服务器名称”(检验用英文字符名称);
  6. “服务器类型”选择“其他数据源”;
  7. “访问接口”选择“Oracle Provider for OLE DB”;
  8. “产品名称”输入“oracle”;
  9. “数据源”输入:(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)))

其中host是oracle数据库所在的服务器的ip;

10.在“安全性”界面,勾选“使用此安全上下文建立连接”,输入“远程登录”和“使用密码”(oracle的登录名和密码):

11.“服务器选项”的界面的设置如下图:

查询测试“链接服务器”是否成功创建,如下图:

sql server数据库使用链接服务器查询oracle数据库的语法:

SELECT * FROM OPENQUERY(SWAPDB,'select xxx from 表名')

如果出现错误“无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7302)”

,请参考下面这篇文章解决:

http://www.cnblogs.com/527289276qq/p/5917351.html

注册“Oracle Provider for OLE DB”和创建链接服务器的更多相关文章

  1. 关于:无法创建链接服务器 "ORCL" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例 (错误:7302)

    本人接触和使用Oracle数据库才有一个季度的时间,问题比较白,大神请无视本文. 环境: 1.数据服务器,windows2008R2,Oracle11g 2.报表服务器,windows2008R2,S ...

  2. 无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7302)

    出现这个错误,有两个最常见的两个原因 1.注册表 <1>按下WIN+R,打开“运行”窗口,输入“regedit”,回车 <2>在打开的注册表编辑器的左侧按如下路径依次展开: H ...

  3. SQL Server 创建链接服务器

    遇到下列问题: 线上服务器A,中转服务器B,本地服务器C 数据在A上面,想在B上面操作类似 select * from [A].[database].table这样的SQL,不用去链接服务器,直接把处 ...

  4. sql server 数据库创建链接服务器访问另外一个sql server 数据库

    继上篇在sql server中创建链接服务器访问oracle数据库:http://www.cnblogs.com/527289276qq/p/4770379.html 本文介绍在sql server中 ...

  5. SQLServer之创建链接服务器

    创建链接服务器注意事项 当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的DBLINK,通过DBLINNK数据库可以像访问本地数据库一样访问远程数据库表中的数据 ...

  6. SQLServer创建链接服务器

    --SQLServer创建链接服务器----1.访问接口中Oracle接口 属性 选择 允许进程内-- --删除链接服务器EXEC master.dbo.sp_dropserver @server=N ...

  7. SQL Server创建链接服务器

    1.通过sql语句创建链接服务器,数据是sql server的 EXEC sp_addlinkedserver @server='test', --链接服务器别名,自定义 @srvproduct='' ...

  8. sql server 数据库创建链接服务器

    本文介绍在sql server中创建链接服务器访问sql server数据库. 方法: 打开SSMS,新建程序,执行下面sql语句块: EXEC sp_addlinkedserver @server= ...

  9. 在MsSql中,创建链接服务器

    建立链接服务器,主要为了跨服务器数据库操作 创建链接服务器 --创建远程链接服务器 EXEC sys.sp_addlinkedserver @server = 'SyncServer', -- 目标服 ...

随机推荐

  1. 一个在浏览器端将html 转为pdf 的js 插件 jsPDF

    <!DOCTYPE html> <html> <head> <title>test</title> <meta http-equiv= ...

  2. 原生JavaScript封装Ajax

    第一次开个人技术博客了,发的第一篇技术文章,欢迎指点…… 欢迎访问本人的独立博客:蓝克比尔 Ajax的实现主要分为四部分: 1.创建Ajax对象 // 创建ajax对象 var xhr = null; ...

  3. java 调用打印机 打印服务

    import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import javax ...

  4. CentOS 7 systemd service开机启动设定

    #vi /etc/systemd/system/xxx.service [Unit] Description=startup script test [Service] Type=simple Exe ...

  5. redis简单总结

    一.redis的准备. 下载redis:路径:Linux:http://www.redis.io.comwindow:http://www.newasp.net/soft/67186.html 解压后 ...

  6. 介绍shell脚本

    简单的说shell就是一个包含若干行Shell或者Linux命令的文件.对于一次编写,多次使用的大量命令,就可以使用单独的文件保存下来, 以便日后使用.通常shell脚本以.sh为后缀.在编写shel ...

  7. 使用$_SERVER['HTTP_HOST']时需注意的

    在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. $_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域 ...

  8. Java基础之异常

    1.异常的概念 异常:程序在运行时出现的不正常情况,也可以说是出现的问题: Java中的异常:出现的不正常的问题也是一类事物,这类事物有一些共性的东西,比如有名称,有产生的原因等,将这些共性的部分抽取 ...

  9. 自己通过反射写的一个属性copy类

    package com.xxx.beancopier; import java.lang.annotation.Documented; import java.lang.annotation.Elem ...

  10. HDU 4262 Juggler

    点我看题 初步想法是模拟,找到下一个位置并记录操作数,O(n^2)肯定会超时. 那么进行优化,会发现到下一位置的操作数就是两个位置之间存在的数的个数,于是就变成了计数问题. 不难想到用树状数组或线段树 ...