SQL-Server链接服务器访问Oracle数据
SQL Server 链接服务器访问 Oracle离线安装 .NET Framework 3.5方法一使用 NetFx3.cab 文件下载 NetFx3.cab 文件并将其放置在 Windows 10 系统盘的 C:Windows 文件夹中。以管理员身份运行命令提示符输入以下命令并回车dism /online /Enable-Feature /FeatureName:NetFx3 /Source:%windir% /LimitAccess等待部署进度达到 100%无报错即可。在“程序和功能”-“Windows 功能”中查看确认 .NET Framework 3.5 选项已被勾选。一、测试环境说明操作系统Windows 7 64bit Windows Server 2008 R2 64bit数据库版本SQL Server 2008 R2 64 位 和 Oracle Database 11g 第 2 版 (11.2.0.1.0)及相应的客户端版本Oracle 11g client 64 位。二、创建 SQL Server 链接服务首先 SQL Server 链接 Oracle 可以通过两个访问接口 “ MSDAORA ” 和“OraOLEDB.Oracle”。默认状态下SQL Server 2008 R2 64 位安装后在 服务器对象 - 链接服务器 - 访问接口下并没有 “OraOLEDB.Oracle”接口。注意在安装之前记得关闭杀毒软件例如火绒不然会出现Oracle安装出现CreateFile() error 32 when trying set file time错误第一步安装服务器版本 Oracle Database 11g参考文章第二步安装“OraOLEDB.Oracle”访问接口需要下载 Oracle 11g client 64 位。具体安装过程如下1下载后解压 zip 文件到文件夹点击setup.exe弹出如下界面直接点击完成开始安装客户端程序。3配置注册表打开运行输入 regedit 按回车。找到注册表项 HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCMTxOCIOracleOciLib 值改为 oci.dll、OracleSqlLib 值改为 orasql11.dll、OracleXaLib 值改为 oraclient11.dll。HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftMSDTCMTxOCI对它做同样的修改。4配置完成后重新启动计算机继续配置在开始 - 所有程序 - Oracle - OraClient11g_home1 - 配置和移植工具 下找到Net Manager点击打开弹出如下窗口点击服务命名选择 编辑 – 创建 弹出网络服务名向导在网络服务名中输入要连接的 Oracle 实例名。点击下一步默认选择[TCP/IP(Internet 协议)] 点击下一步输入要连接的主机名端口号为 1521 Oracle 的默认端口点击下一步输入服务名点击下一步点击测试中的[测试]按钮进行服务器连接测试 注意要输入正确的用户名和密码 可以直接点击完成跳过测试步骤。注意配置好net manager之后一定要关闭窗口进行保存不然sqlserver链接服务器Oracle的时候会一直链接失败1、 “OraOLEDB.Oracle” 访问接口是由 Oracle 的 Oracle Provider for OLE DB 驱动提供的。它解决了两个数据库类型不一致的问题。而且如果需要使用分布式事务必须使用它来创建链接服务器。在创建之前在 SQL Server 中链接服务器-访问接口-OraOLEDB.Oracle-右键属性选中“允许进程内”。这一步是使我们选择的 OraOLEDB.Oracle 接口打开执行操作。如未设置会报如下错误“无法初始化链接服务器 “null” 的 OLE DB 访问接口 “OraOLEDB.Oracle” 的数据源对象或者使用 Oracle Provider for OLE DB 驱动创建 sqlserver 链接服务器的代码--建立数据库链接服务器 EXEC Sp_addlinkedserver server NORCL,--要创建的链接服务器别名srvproductNOracle,--产品名称providerNOraOLEDB.Oracle,-- OLE DB 驱动名称datasrcNORCL --数据源 Oracle-ora11g-network-admin-tnsnames.ora查看 EXEC Sp_addlinkedsrvlogin ORACLEDB,--已建立的链接服务器名false,-- 固定*/ NULL,--为每个登陆SQL SERVER的用户使用此链接服务器,则写用户名*/ YNMZDXWC,--帐号(Oracle) 1 --密码 EXEC Sp_serveroption ORACLEDB, rpc out, true EXEC Sp_serveroption ORACLEDB, rpc, true --这两个是打开 rpc,rpc out 的默认为 False,打开后可以支持远程更改分布式事务。如有分布式事务操作必须要设置这样我们就建好了链接服务器已经可以通过它对Oracle 数据库进行查询。三、链接服务器的查询查询的两种方式1链接服务器别名…Oracle 名.oracle 表注意使用大写SELECT *FROM OPENQUERY(ZHANG,SELECT *FROM ELE_DEPARTMENT) SELECT * FROM [ORACLEDB]..[SCOTT].[EMP]这种方式可以进行操作优点是使用简单一目了然而缺点是性能太差查询大数据量表很慢。效率太差。2使用 OPENQUERY对给定的链接服务器执行指定的传递查询。该服务器是 OLE DB 数据源。OPENQUERY 可以在查询的 FROM 子句中引用就象它是一个表名。OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。但这要取决于 OLE DB 访问接口的功能。尽管查询可能返回多个结果集但是 OPENQUERY 只返回第一个。示例A.执行 SELECT 传递查询SELECT * FROM OPENQUERY(ORACLEDB, SELECT * FROM SCOTT.EMP) SELECT * FROM OPENQUERY(ZHANG,SELECT *FROM ELE_DEPARTMENT)B.执行 UPDATE 传递查询UPDATE OPENQUERY (ORACLEDB, SELECT ENAME FROM SCOTT.EMP WHERE EMPNO 7369) SET ENAME SMITH;C.执行 INSERT 传递查询INSERT OPENQUERY (ORACLEDB, SELECT * FROM SCOTT.EMP) VALUES (8888,JIAO,MANAGER,NULL,1990-12-17 00:00:00.0000000,5000.00,5000.00,10);D.执行 DELETE 传递查询DELETE OPENQUERY (ORACLEDB, SELECT ENAME FROM SCOTT.EMP WHERE EMPNO 8888);查询方式速度几乎和在 Oralce 中一样快。并且我们可以将 openquery() 当做表来用。四、SQL Server 链接服务器实现分布式查询启用条件1、 必须安装 Oracle Services for Microsoft Transaction Server2、 必须用Oracle Provider for OLE DB 驱动提供的OraOLEDB.Oracle 访问接口来创建链接服务3、 必须双方启动并配置 MSDTC 服务关于 MSDTC 服务的配置请参考SQLServer 分布式事务配置.doc。示例SET XACT_ABORT ON BEGIN TRAN UPDATE Openquery(ORACLEDB, SELECT * FROM EMP WHERE EMPNO 7369) SET COMM 200 INSERT test_yiyanhua.dbo.EMP SELECT * FROM test_yiyanhua.dbo.EMP WHERE EMPNO 7499 IF ERROR 0 ROLLBACK TRAN ELSE COMMIT TRAN五、彻底卸载Oracle 11g服务端彻底卸载Oracle 11g服务端六、相关Oracle软件安装包下载地址相关Oracle软件安装包下载地址提取码sZZA

相关新闻

大龙虾与小龙虾的安全之舞ooderAgent南向协议如何守护企业LLM与个人LLM的可信交互

大龙虾与小龙虾的安全之舞ooderAgent南向协议如何守护企业LLM与个人LLM的可信交互

作者: Ooder Team | 日期: 2026-03-07关键词: A2A协议、南向协议、agent-SDK、企业LLM、个人LLM、安全交互📖 目录引言:AI时代的"大龙虾"与"小龙虾"一、技术架构全景:从A2A协议到南向协议二、KEY体系:身份认证…

2026/7/8 3:30:53 阅读更多 →
论遗留系统演化策略及其应用

论遗留系统演化策略及其应用

摘要: XX年初,本人所在公司承接了某军工集团下属素质教育部门的视频网站优化升级改造项目,该网站用于向全国中小学生提供国防教育类视频课程。集团的素质教育部门定期制作各类国防教育课程资源上传网站,学校用户根据实际情况选择视…

2026/5/17 10:28:48 阅读更多 →
nodejs中国通史介绍历史网站设计与制作 vue4gi6i

nodejs中国通史介绍历史网站设计与制作 vue4gi6i

目录Node.js 中国通史网站的设计与制作技术栈选择功能模块设计数据架构关键代码示例(Vue 3 Vite)部署与优化扩展计划项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作Node.js 中…

2026/7/8 2:45:18 阅读更多 →

最新新闻

直流电机静音控制方案:TB9051FTG与PIC18LF25K42实战

直流电机静音控制方案:TB9051FTG与PIC18LF25K42实战

1. 项目背景与核心需求解析在医疗设备、智能家居和精密仪器领域,直流电机的噪声问题一直是工程师面临的棘手挑战。传统PWM调速方案在低速运行时会产生明显的电磁噪声和机械振动,这种"滋滋"声在安静环境中尤为刺耳。我曾参与过一款医用输液泵的…

2026/7/8 19:38:26 阅读更多 →
TongWeb 7.0 Spring Boot 应用外置容器部署:3步完成JAR到WAR的迁移与配置

TongWeb 7.0 Spring Boot 应用外置容器部署:3步完成JAR到WAR的迁移与配置

TongWeb 7.0 Spring Boot 应用外置容器部署实战指南Spring Boot应用从内嵌容器迁移到TongWeb这类企业级应用服务器的过程,既是技术架构的升级,也是对国产中间件适配能力的考验。本文将深入解析JAR到WAR的完整改造流程,提供TongWeb特有的配置优…

2026/7/8 19:34:23 阅读更多 →
VS Code本地AI编程助手:Qwen2.5-Coder平替Claude Code实战指南

VS Code本地AI编程助手:Qwen2.5-Coder平替Claude Code实战指南

1. 项目概述:为什么“Claude Code平替”在2026年仍是一个值得深挖的真命题 2026年,当“Claude Code”这个词频繁出现在开发者群聊、技术论坛和招聘JD里时,它早已不是某个具体产品的代号,而是一类工作流的统称——一种以大模型为内…

2026/7/8 19:32:21 阅读更多 →
免费 Cursor 替代方案:Claude-Code + Ollama + VSCode 本地 AI 编程实战

免费 Cursor 替代方案:Claude-Code + Ollama + VSCode 本地 AI 编程实战

1. 为什么“免费 Cursor”不是噱头,而是可落地的工程实践 最近在几个技术群和开源社区里,总有人问:“Cursor Pro 到底值不值得买?”“免费版用着卡顿、响应慢、还限次数,有没有真正能替代它的本地方案?”—…

2026/7/8 19:30:16 阅读更多 →
腾讯混元API Python接入实战:OpenAI兼容模式与CrazyRouter路由详解

腾讯混元API Python接入实战:OpenAI兼容模式与CrazyRouter路由详解

1. 项目概述:这不是一份“API调用说明书”,而是一线研发踩坑三年后整理的混元接入实战手册2026年,腾讯混元大模型API已不再是内测阶段的“体验版”,而是真正进入企业级生产环境的稳定服务。我所在的团队从2024年Q3开始将混元接入核…

2026/7/8 19:28:13 阅读更多 →
计算机毕业设计之基于ssm框架的在线影视网站的设计与实现

计算机毕业设计之基于ssm框架的在线影视网站的设计与实现

随着新世纪无纸化办公方式的普及,自动化信息处理和基于网络的信息交互方式已被广泛应用。现在很多行业基本上都是交由计算机进行管理和测试,网络与计算机已成为整个线上管理体系中的重要组成部分。虽然信息技术广泛应用和数据存取更加方便,但…

2026/7/8 19:26:11 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻