建立从SQL Server 到 DB2 数据库链接服务器

建立从SQL Server 到 DB2 数据库链接服务器

 

以下代码 在SQL Server 2008 到 DB2_V8_Windows 链接成功!

--从SQL Server 建立到 DB2 的链接服务器 EXEC master.dbo.sp_addlinkedserver @server = N'DB2', --链接服务器名称 @srvproduct=N'IBM_DB2', --产品名称 可随意填 @provider=N'IBMDADB2', --OLD DB提供者 必须这样填 @datasrc=N'DB2', --目标数据库实例名 @location=N'127.0.0.1', --远程数据库服务器IP地址 --下边的连接字符串是固定的 注意里边的IP地址 @provstr=N'Initial Catalog=PUBS;Data Source=DB2;HostCCSID=1252;Network Address=127.0.0.1;Network Port=50000;Package Collection=admin;Default Schema=admin;' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'DB2', @locallogin = NULL , @useself = N'False', @rmtuser = N'db2admin', --远程数据库用户名 @rmtpassword = N'db2' --远程数据库登陆密码 --删除链接服务器 EXEC master.dbo.sp_dropserver @server=N'DB2', @droplogins='droplogins'   

 

从链接服务器中查询数据 有两种方式

1、SELECT * FROM LinkedserverName.TableSchemaName.TableName

2、SELECT * FROM OPENQUERY(LinkedserverName, 'SELECT * FROM TableSchemaName.TableName')

尽量使用 第二种方式 作查询,SQL Server 的openquery 会对执行的sql 作一定的变换再送到目标数据库执行,

注意如果要执行 sql 的语句的包括 where 过滤条件时 一定要将过滤条件送到远程的数据库里执行 而不要 把全表拿回来之后 再过滤,

这非常的影响效率。

 

 

你可能感兴趣的:(DB2)