情况:
- A机上有SSMS 18.x,
- B机上有SQL Server 2008 R2数据库,
- C机上有Oracle Database 11.2.0.4.0数据库
我想在A机用ssms连C机的oracle,一番了解,普遍做法是装ODAC xcopy包,里面有oledb组件,然后就可以在sqlserver的链接服务器里添加oracle数据库。如图:
于是我开始在ssms所在电脑装odac,结果提供程序的下拉列表里死活不出现“Oracle Provider for OLE DB”,后来想想也许应该在sql server所在电脑装才对,果然,有了,但紧接着又是连不上的问题:
按关键字OraOLEDB.Oracle 7302搜,相同问题一堆,有说勾一下【允许进程内】的,有说把sqlserver服务的启动账户改为【LOCAL SERVICE】的,也有通过若干步骤修改一个叫【MSDAINITIALIZE】的dcom组件的权限的,我都试过了,sqlserver服务器也重启了无数次,odac版本也试过若干个,统统不能解决我的问题。绝望之下,我下了【Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64)】,只勾了里面的oledb(具体叫啥我懒得回看了)一个东西,终于连上了。
总结:
- 一定要有个SQL Server。光ssms和oracle是建立不起连接的,本质上连接oracle的是sql sever,不是ssms本身。
- oledb要装在sql server所在电脑上。我是装oracle客户端里的oledb才有用,odac里的没用,估计还是版本问题。
示例:
--注意用户和表名大小写敏感 --用T-SQL的语法 SELECT TOP 10 * from 链接服务器别名..用户.表名
--或者。此写法可以解决当xxx中有timestamp列时上面的写法会报错的问题,参考https://andyspecht.github.io/2017-10-03-linked-server-fail/
select * from openquery(链接服务器别名, 'select * from xxx'/*plsql*/)
-文本-
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2013-04-08 弹出移动设备时报正在使用肿么办