免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL2005 DBLINK链接Oracle详解1. 新建链接点击右键新建链接2. 填写新建链接常规选项卡信息数据源为oracle中的实例名称YUSEEN字符串为MSDAORA3. 填写新建链接安全选项卡信息4. 点确定后完成DBlink链接。5. 选中所建链接右键测试链接链接成功6. 写SQL语句1)、查询 格式1:select * from 链接服务器名.Oracle连接用户名.Oracle表名 select * from TEST2.IFSAPP.table1select * from ORACLE-TEST.CTXSYS.TEST1 格式2:select * from OPENQUERY(链接服务器名,PL/SQL 语句) select * from OPENQUERY(TEST2,select * from ifsapp.table1) 格式3:Exec(select * from Oracle用户.表1) AT 链接服务器名 Exec(select * from ifsapp.table1) AT TEST2 2)、更改 格式1: insert into openquery(TEST2,select * from ifsapp.table1) select cols1,cols2,. from SQLTable1; 格式2: insert into openquery(TEST2,select * from ifsapp.table1) values (cols1,cols2,.); 格式3: update openquery(OERP,select * from ifsapp.table1) set cols1= LEO,. where IKEY=4 格式4:Exec(update Oracle用户.表1 set col1=xx where ikey=1) AT 链接服务器名 Exec(update IFSAPP.table1 set col1=xx where ikey=1) AT TEST2 这个格式可以执行Oracle里的存储过程。其实为了方便,可以把上面的 select * from openquery(TEST2,select* from ifsapp.table1) 建立成一个视图,然后对视图进行操作就可以了。 3)、执行存储过程 使用OPENQUERY: SELECT * FROM OPENQUERY(别名, exec 用户名.存储过程名)三、链接服务器链接ORACLE时遇到“无法启动分布式事务”问题时1. 双方启动MSDTC服务 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。2. 打开双方135端口 MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。 使用telnet IP 135 命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放。3. 保证链接服务器中语句没有访问发起事务服务器的操作 在发起事务的服务器执行链接服务器上的查询、视图或存储过程中含有访问发起事务服务器的操作,这样的操作叫做环回(loopback),是不被支持的,所以要保证在链接服务器中不存在此类操作。4. 在事务开始前加入set xact_abort ON语句 对于大多数 OLE DB 提供程序(包括 SQL Server),必须将隐式或显示事务中的数据修改语句中的 XACT_ABORT 设置为 ON。唯一不需要该选项的情况是在提供程序支持嵌套事务时。5. MSDTC设置 打开管理工具-组件服务,以此打开组件服务-计算机,在我的电脑上点击右键。在MSDTC选项卡中,点击安全配置按钮。在安全配置窗口中做如下设置:l 选中网络DTC访问l 在客户端管理中选中允许远程客户端允许远程管理l 在事务管理通讯中选允许入站允许出站不要求进行验证l 保证DTC登陆账户为:NT AuthorityNetworkService6.1 数据库引擎 第一种情况的server或者第二种情况的datasrc设置为ip地址时,数据库引擎会根据ip地址访问链接服务器,这时不需要做名称解析。 第一种情况的server或者第二种情况的datasrc设置为sql server服务器名时,需要做名称解析,就是把服务器名解析为ip地址。 有两个办法解析服务器名: 一是在sql server客户端配置中设置一个别名,将上面的服务器名对应到链接服务器的ip地址。 二是在C:WINDOWSsystem32driversetchosts文件中增加一条记录: xxx.xxx.xxx.xxx 服务器名 作用同样是把服务器名对应到链接服务器的ip地址。6.2 DTC 不管哪一种情况,只要server设置的是服务器名而不是ip地址,就需要进行名称解析,办法同上面第二种办法,在hosts文件中增加解析记录,上面的第一种办法对DTC不起作用。如果server设置的是ip地址,同样不需要做域名解析工作。7. 远程服务器上的名称解析 分布式事务的参与服务器是需要相互访问的,发起查询的服务器要根据机器名或ip查找远程服务器的,同样远程服务器也要查找发起服务器,远程服务器通过发起服务器的机器名查找服务器,所以要保证远程服务器能够通过发起服务器的机器名访问到发起服务器。 一般的,两个服务器在同一网段机器名能就行很好的解析,但是也不保证都能很好的解析,所以比较保险的做法是: 在远程服务器的在C:WINDOWSsystem32driversetchosts文件中增加一条记录: xxx.xxx.xxx.xxx 发起服务器名 8.如果链接服务器链接的不是ORACLE,这样处理基本可以的了,但如果是ORACLE,你会发现还是不可以的。错误依然。这其实跟MSDTC已没有关系了。是ORACLE本身不支持外部启动分布式事务,要解决这个问题,经过找ORACLE官网,他要加一个叫ODAC的补丁,支持分布式事务的一个数据库连接包。Oracle数据库客户端访问组件下载地址: /technology/software/tech/windows/odpnet/index.html 不同的ORACLE版本有对应的不同补丁,选择下载就可以了。安装好这个补丁后,你再写如:set xact_abort on -(这一句必要,不然会报错)Begin TRAN update 链接服务器名.Oracle用户名.Table set col1=new value.IF ERROR0 ROLLBACK TRAN;ELSE COMMIT TRAN;语句成功!有时更新会报找不到列等的错误,可以转换上面提到的几种格式看看,有些格式并不支持一些特别的功能。 至此,才是真正的成功!四、如果是报无法初始化链接服务器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年洛扎县带编教师招聘考试备考题库及答案解析
- 2026年汶川县带编教师招聘考试备考题库及答案解析
- 2026年景谷傣族彝族自治县带编教师招聘考试模拟试题及答案解析
- 2026-2027学年绍兴市中考数学对点突破模拟试卷(含答案解析)
- 吕梁市2027年中考数学考试模拟冲刺卷(含答案解析)
- 2026年和平县带编教师招聘考试参考题库及答案解析
- 2026年蕉岭县带编教师招聘考试参考题库及答案解析
- DB3209T1311-2025射阳平菇栽培技术规程
- 2026年建平县带编教师招聘考试模拟试题及答案解析
- 2026年沐川县带编教师招聘考试备考试题及答案解析
- DB31/T 1402-2023养老机构认知障碍照护单元设置和服务要求
- 2025年中国1,7-辛二烯行业市场前景预测及投资价值评估分析报告
- 初一英语阅读理解训练题及答案解析
- 2024北森图形推理题
- 2024秋新人教版小学一年级艺术唱游·音乐上册《第一单元 奇妙的声音世界》教案设计
- 国家级突发中毒事件卫生应急处置队建设规范
- 电厂阀门检修培训
- 建筑地基基础检测规范DBJ-T 15-60-2019
- 林业安全知识培训
- 整车DTS测量规范
- 学校安全事故应急处置流程图
评论
0/150
提交评论