视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sql server连接Oracle方法(最全)
2025-10-02 13:58:42 责编:小OO
文档
sql server连接Oracle方法 

(一)在SQL Server所在服务器中安装Oracle客户端程序,并设定好TNS

(二)在SQL Server中添加Link Server,设置方法如下: 

以上设置也可以透过执行sql server的存储过程实现。

sp_addlinkedserver & sp_addlinkedsrvlogin 

(三)连接建立完成后,就可以执行查询语句了,查询的示例如下:

/*查询*/

select * from openquery(TESTORA, 'SELECT t01,t02 FROM tex_file') 

/*插入数据*/ 

INSERT OPENQUERY(TESTORA, 'select t01 from tex_file')

select 'testabc'

/*更新数据*/

update OPENQUERY(TESTORA, 'select t01 from tex_file') set t01='hellowo'

where t01='testabc'

/*删除数据*/

delete from OPENQUERY(TESTORA, 'select t01 from tex_file')

where t01='hellowo'

(四)到此基本上无什么问题了,但是把这些语句放在sql server的触发器中的时候,问题产生了。

放入触发器中之后,一开始提示:“服务器 'XXXXX' 上的 MSDTC 不可用”,于是打开MSDTC服务(方法:切换到cmd窗口,运行net start msdtc,或者到控制台的服务里面启动DTC服务),不再提示这个错误,而是提示 “MSDTC不能启动分布式事务”。Oh my God,还是不行,于是再次去问谷歌,发现是因为微软提供的驱动不支持分布式事务,于是参照网上的方法(点此查看原始解决方案),修改注册表。

(五)修改注册表后,奇迹发生了。

修改的方法如下:

好了,运行regedit修改注册表,依照上图方法修改,注册表有两处需要更改或者增加,修改完成后重启电脑,以上问题解决。

如果要在其他电脑设定,可以将注册表这两个分支导出,然后在另外的电脑直接汇入,省去了设置的麻烦。

(测试环境:windows XP pro+sql server 2005+oracle9i)下载本文

显示全文
专题