SQL Server 连 Oracle 的方案有不少,但要说稳定又靠谱的,还得是用 Oracle 客户端 + Link Server 的组合。操作上其实不复杂,就是细节多、坑也不少。前阵子刚踩了一堆雷,顺手总结了下,分享给你参考下。

Oracle 客户端的安装,是连通的第一步。别嫌麻烦,这一步挺关键。不装它,你 SQL Server 压根就找不到 Oracle 的门。装完记得配置好tnsnames.ora,TNS 的配置决定你能不能连上。

接下来是sp_addlinkedserversp_addlinkedsrvlogin。这俩存储过程就是让 SQL Server 知道“我这儿还有个 Oracle 朋友”。你写好 Link Server 之后,就能用OPENQUERY去访问 Oracle 数据了。查询、更新、删数据,全都不在话下。

问题也不少。比如,有时候 SQL Server 触发器里用 Link Server,就遇到“MSDTC 不可用”的报错。嗯,这是因为分布式事务服务没开。记得检查服务列表,把Distributed Transaction Coordinator给启动了。

还有种更棘手的:明明服务开了,却报“MSDTC 不能启动分布式事务”。这个大多是微软驱动的问题,分布式事务支持不行。方法也有,就是用regedit改注册表。挺老派的操作了,改完最好重启下机器。

,SQL Server 连 Oracle,用客户端 + Link Server 是比较稳的方案。如果你也经常搞双库交互,这一套值得搭一下。实在卡住了,别忘了查查 MSDTC 和注册表配置,多时候问题就在这。