sqlserver建立与Oracle的链接服务器

article/2025/10/13 22:23:09

1.下载轻量级的ODAC安装包

64-bit Oracle Data Access Components (ODAC) for Windowshttps://www.oracle.com/database/technologies/odac-downloads.html

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)

出现这个错误,有两个最常见的两个原因

1.注册表

<1>按下WIN+R,打开“运行”窗口,输入“regedit”,回车

<2>在打开的注册表编辑器的左侧按如下路径依次展开:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Providers

在Providers下面一般来说是看不到OraOLEDB.Oracle这一项的,于是新建这一项。

在Providers上面右键选择New -> Key,把新增加的项改名为“OraOLEDB.Oracle”

<3>为“OraOLEDB.Oracle”这个键新增一个DWORD Value,把名字改为“AllowInProcess”

<4>把“AllowInProcess”的值改为“00000001”

2.访问接口的设置

右键oracle接口,如下图:勾选”允许进程内“。

推荐优先使用第二种方法后再创建链接服务器。

 


http://chatgpt.dhexx.cn/article/uhKNBKJK.shtml

相关文章

搭建Oracle数据库服务器

Oracle数据库经过这么多年的产品积累发布&#xff0c;从最开始的二代版本到现在的oracle 12c&#xff0c;产品功能越发强大&#xff0c;数据库管理员需要学习和了解的知识点也逐步增加学习。俗话说得好&#xff1a;“工欲善其事必先利其器”&#xff0c;学习Oracle数据库&#…

Oracle 11g服务器安装详细步骤——图文教程

1.大家可以根据自己的操作系统是多少位(32位或64位)的,到官网下载相应的安装程序,如下图所示。 有一点需要注意,Oracle的安装程序分成2个文件,下载后将2个文件解压到同一目录即可。 2.下载完成后,将2个压缩文件一起选中,鼠标右键—>解压文件,如下图所示。两个压缩…

Oracle数据库基础入门《一》Oracle服务器的构成

Oracle数据库基础入门《一》Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统&#xff0c;也是一 个高效的 SQL 语句执行环境。 Oracle 服务器具备以下的特点&#xff1a; ● 能够可靠的进行多用户环境下大量数据的处理&#xff0c;允…

oracle 服务器

简单概念&#xff1a; 1. 数据库(database)&#xff1a;物理操作系统文件或磁盘的集合(可能不是操作系统中独立文件)&#xff0c;数据库是磁盘上存储的数据集合。数据库可以由一个或多个实例装载和打开。 2. 实例(instance)&#xff1a;一组oracle后台进程/线程以及一个共享内…

Oracle云服务器安全配置

在Oracle云上申请了一个免费云空间&#xff0c;据说是永久免费&#xff0c;这里记录一下安全配置问题。 一、访问Oracle云服务器 1、云服务器申请 如何在oracle注册申请云服务可自行搜索一下&#xff0c;有很多文章介绍。 甲骨文Oracle云服务器详细申请教程步骤及注意事项 …

抽象类和接口的区别,以及使用场景?

抽象类 接口 抽象类和接口区别 Java 8中关于接口的改进 接口中的默认方法&#xff1a; 抽象类和接口使用场景 ① 抽象类是对一种事物的抽象&#xff0c;即对类抽象&#xff0c;而接口是对行为的抽象。抽象类是对整个类整体进行抽象&#xff0c;包括属性、行为&#xff0c;但…

抽象类和接口的详解(实例)

抽象类和接口在我们的代码中&#xff0c;生活中息息相关&#xff0c;与上图所示&#xff0c;操纵复杂&#xff0c;密切相关&#xff0c;那么问题来了&#xff0c;何谓抽象类&#xff0c;何谓接口&#xff1f; 带着这层薄纱&#xff0c;慢慢揭开这层薄纱&#xff1b;也许在古代…

接口和抽象类的区别

转自&#xff1a;https://www.cnblogs.com/yongjiapei/p/5494894.html 接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么&#xff1f; 接口和抽象类的概念不一样。接口是对动作的抽象&#xff0c;抽象类是对根源的抽象。 抽象类表示的是&#xff0c;这个对象是什…

接口与抽象类的区别

c# 一、抽象类&#xff1a; 抽象类是特殊的类&#xff0c;只是不能被实例化&#xff1b;除此以外&#xff0c;具有类的其他特性&#xff1b;重要的是抽象类可以包括抽象方法&#xff0c;这是普通类所不能的。抽象方法只能声明于抽象类中&#xff0c;且不包含任何实现&…

Java抽象类与接口(学习笔记)

抽象类 什么是抽象类&#xff1a; 类和类之间具有共同特征&#xff0c;讲这些共同特征抽取出来&#xff0c;就形成了抽象类。因为类本身是不存在的&#xff0c;所以抽象类无法创建对象&#xff08;无法实例化&#xff09;。 以下借用视频中总结的思维层次图&#xff1a; 抽象类…

接口与抽象类的区别 详细总结

------------------------- 在这里我总结了五点区别 ----------------------- 区别一: 抽象类中可以存在非抽象的方法 VS 接口中的方法被默认的变成抽象方法,只要是定义了接口,接口中的方法 就全部变成了抽象类即使你不写 abstract 它也是抽…

Java-抽象类与接口

前言 温故而知新 最近从头来看当初学过的语法知识点, 温故而知新, 发现当初还有许多未掌握的知识, 所以我建议大家也要多温故, 可能当初有好多知识点是没掌握到的. 这篇博客的重点就是介绍抽象类与接口, 并阐述他们的区别. 一. 抽象类 1. 概念 在面向对象的概念中, 所有的…

一文带你了解【抽象类和接口】

1. 抽象类概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是并不是所有类都是用来描绘对象的。如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 举个简单的例子 上图中&#xff0c;三角形&#xff0…

抽象类和接口

目录 抽象类 抽象类使用abstract修饰类 抽象类当中可以包含普通类所能包含的成员 抽象类和普通类不一样的是&#xff0c;抽象类当中可以包含抽象方法。 抽象类方法是使用abstract修饰的&#xff0c;这个方法没有具体的实现 不能实例化抽象类 抽象类存在的意义是为了被继承…

Java抽象类和接口 -- 深度剖析

&#x1f496;欢迎来阅读子豪的博客&#xff08;Java语法篇&#x1f9d4;&#xff09; &#x1f449;有什么宝贵的意见或建议可以在留言区留言 &#x1f4bb;欢迎 素质三连 点赞 关注 收藏 &#x1f9d1;‍&#x1f680;码云仓库&#xff1a;补集王子的代码仓库 Java抽象类和接…

Java学习系列之抽象类和接口的区别和联系

导读 本文首先分别介绍抽象类和接口的基础概念、特征和应用场景&#xff0c;然后介绍其区别和联系。 1 抽象类 1.1 定义抽象类 在Java中被abstract关键字修饰的类称为抽象类&#xff0c;被abstract关键字修饰的方法称为抽象方法&#xff0c;抽象方法只有方法的声明&#xff…

从抽象类到接口—手把手教你写抽象类(一)—还在Ctrl C的伙伴们看过来了

目录 一、抽象类概述 二、抽象类的特点 三、抽象类的案例 四、抽象类的细节 五、抽象类的思想 抽象类概述 抽象定义 –抽象是从多个事物中将共性的&#xff0c;本质的内容抽取出来。 –例&#xff1a;狼和狗共性都是犬科&#xff0c;犬科就是抽象出来的概念。 抽象类 –…

Java基础学习:抽象类和接口

目录,更新ing,学习Java的点滴记录 目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录 抽象类和接口_抽象类和抽象方法 抽象类是普通的类与接口之间的一种中庸之道,尽管你可能在构建某些未实现方法的类是,第一想法可能是创建接口,但是抽象类仍旧是用于此…

SVD奇异值分解(理论与C++实现)

SVD奇异值分解 前言理论推导部分代码实现 前言 奇异值分解(singular value decomposition&#xff0c;以下简称SVD)是线性代数中一种重要的矩阵分解。SVD将矩阵分解为奇异向量(singular vector)和奇异值(singular value)。SVD将矩阵 A A A分解成三个矩阵的乘积 A U D V T A …

matlab实现奇异值分解

一、原理 二、实现 %% 两种方法计算矩阵 A 的 SVD A [0,1; 1,1; 1,0];%% 方法一&#xff1a;利用特征分解eig % 计算右奇异矩阵V [V,D1] eig(A*A); n size(D1,1); index n:-1:1; D1 diag(D1); D1 D1(index); D1 diag(D1, 0); V V(:,index); % 计算左奇异矩阵U [U,D2…