关闭

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

标签: sql serveroracle
109人阅读 评论(0) 收藏 举报
分类:

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 使用方法类似。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:701次
    • 积分:47
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档