SQL Server 链接服务器(Oracle,DB2)

原创 2016年06月01日 21:21:00

SQL SQL Server 链接服务器(Oracle,DB2)

首先要安装.Net 连接Oracle、DB2的驱动,然后一步一步设置 或者通过SSMS图形界面实现

连接Oracle ,Create 方式SQL Server脚本
USE [master]
GO

/* Object: LinkedServer [自己为链接服务器起个名字] Script Date: 2016/6/1 21:13:09 */
EXEC master.dbo.sp_addlinkedserver @server = N’自己为链接服务器起个名字’, @srvproduct=N’Oracle’, @provider=N’OraOLEDB.Oracle’, @datasrc=N’Oracle用户名’
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N’自己为链接服务器起个名字’,@useself=N’False’,@locallogin=NULL,@rmtuser=N’用户名’,@rmtpassword=’########’

GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’collation compatible’, @optvalue=N’false’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’data access’, @optvalue=N’true’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’dist’, @optvalue=N’false’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’pub’, @optvalue=N’false’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’rpc’, @optvalue=N’true’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’rpc out’, @optvalue=N’true’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’sub’, @optvalue=N’false’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’connect timeout’, @optvalue=N’0’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’collation name’, @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’lazy schema validation’, @optvalue=N’false’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’query timeout’, @optvalue=N’0’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’use remote collation’, @optvalue=N’true’
GO

EXEC master.dbo.sp_serveroption @server=N’自己为链接服务器起个名字’, @optname=N’remote proc transaction promotion’, @optvalue=N’true’
GO

连接DB类似
需要注意连接DB2,必须要求SQL Server的版本为企业版,或者评估版,其他版本一律不行。
查询方式例子
SELECT * FROM openquery(链接服务器名称,’select * from 表名’)
链接服务器传参数 可以这样(引用)
SET @Sql = ‘SELECT * from 表名 where SEQ_NUM =’+@V_SEQ_NUM
SET @Sql = ‘Update OPENQUERY(连接服务器名称, ”’ + REPLACE(@Sql, ””, ”””) + ”’) SET MSG_TYPE =”’+@V_MSG_TYPE+”’, MSGError =”’+@V_ERROR_MSG+”’ ’
EXEC(@Sql)
@V_SEQ_NUM 为为传入的参数

DB2 使用方法类似。

版权声明:本文为博主原创文章,未经博主允许不得转载。

SQL Server中创建Oracle的链接服务器

打开Microsoft SQL Server Management Studio并以sa身份登录,在左侧的“对象资源管理器”窗口中展开“服务器对象”节点,在其下的“链接服务器”节点上右键选择“新建链接...
  • m15188153014
  • m15188153014
  • 2015年12月24日 16:49
  • 597

SQL Server 通过链接服务器访问Oracle

系统环境:windows Server 2008R2 32位。         最近在做项目时,需要通过sql的链接服务器访问Oracle。以前弄过sql访问sql,感觉挺简单的,以为访问Oracle...
  • mt122
  • mt122
  • 2015年01月13日 17:04
  • 2402

SQLServer2008新建数据链接服务器 for Oracle,实现不同数据库源数据的统一操作!

如何实现SQLServer2008中访问Oracle的表或视图,通过建立链接服务器即可在SQLServer中使用Oracle提供的表和视图,在当前库中实现统一查询的目的........
  • apicescn
  • apicescn
  • 2015年01月05日 11:48
  • 6840

血泪经验分享--->SQL Server 2012建立链接服务器

现在我有一个需求是需要在两个不同的SQL SERVER 2012的服务器之间进行数据访问和更新。我们需要把Server One的数据插入到Server Two的服务器上去,一天执行一次任务。我们的首选...
  • waterxcfg304
  • waterxcfg304
  • 2014年12月19日 09:56
  • 26493

SQLServer链接数据库身份验证失败

最近在做跨主机的数据库交互,大概就是把DB1的某些数据搬到另外一台服务器的DB2 最佳的方法,就是用SQLServer的代理服务做定时任务,执行SQL脚本 同一个主机的数据库相互访问这个很容易,但跨主...
  • lijinan2008
  • lijinan2008
  • 2017年06月23日 08:32
  • 592

SQL Server 用链接服务器 同步MySQL

SQL Server 用链接服务器 同步MySql
  • roy_88
  • roy_88
  • 2016年03月25日 18:06
  • 7983

SQL Server2008新建ODBC链接服务器

本文的目的是导出MySQL库到SQL Server,由于过于麻烦,建议有相同目的的请出门左转找“Microsoft SQL Server Migration Assistant 2008 for My...
  • tiantuanzi
  • tiantuanzi
  • 2016年07月27日 23:36
  • 2686

sql server 使用链接服务器远程查询

--PK select * from sys.key_constraints where object_id = OBJECT_ID('TB') --FK select * from sys.fore...
  • pengxuan
  • pengxuan
  • 2016年06月23日 11:51
  • 4676

sqlserver链接服务器使用方法 这里讲oracle的

我在网了打了一些,先看下: 来看:http://blog.csdn.net/rrrrssss00/article/details/4036830 一、使用 Microsoft OLE ...
  • tuchangsheng801004
  • tuchangsheng801004
  • 2013年08月07日 10:15
  • 1324

SQL创建链接服务器(脚本)

if exists (select * from master.dbo.sysservers where srvname = 'srv_lnk')     exec sp_dropserver 'sr...
  • markloong
  • markloong
  • 2015年06月05日 17:45
  • 1802
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 链接服务器(Oracle,DB2)
举报原因:
原因补充:

(最多只允许输入30个字)