Sql 分布式查询格式资料

由于业务逻辑的多样性

经常得在sql server中查询不同数据库中数据

这就产生了分布式查询的需求

现我将开发中遇到的几种查询总结如下:

 

 

1.access版本

 

--建立连接服务器

EXEC sp_addlinkedserver

--要创建的链接服务器名称 

'ai',            

--产品名称              

'access',    

--OLE DB 字符

'Microsoft.Jet.OLEDB.4.0', 

--数据源

--格式:

-- 盘符:/路径/文件名

-- //网络名/共享名/文件名  (网络版本)

'd:/testdb/db.mdb'

GO

 

 

--创建链接服务器上远程登录之间的映射

--链接服务器默认设置为用登陆的上下文进行

--现在我们修改为连接链接服务器不需使用任何登录或密码

exec sp_addlinkedsrvlogin 'ai','false'

go

 

 

--查询数据

select * from ai...mytable

go

 

 

2.excel版本

 

--建立连接服务器

EXEC sp_addlinkedserver

--要创建的链接服务器名称 

'ai_ex',            

--产品名称              

'ex',    

--OLE DB 字符

'Microsoft.Jet.OLEDB.4.0', 

--数据源

--格式:

-- 盘符:/路径/文件名

-- //网络名/共享名/文件名  (网络版本)

'd:/testdb/mybook.xls' ,

null,

--OLE DB 提供程序特定的连接字符串

'Excel 5.0'

GO

 

 

----创建链接服务器上远程登录之间的映射

--链接服务器默认设置为用登陆的上下文进行

--现在我们修改为连接链接服务器不需使用任何登录或密码

exec sp_addlinkedsrvlogin 'ai_ex','false'

go

 

 

--查询数据

select * from ai_ex...sheet3$

go

 

 

3.ms sql版本

 

--建立连接服务器

EXEC sp_addlinkedserver

--要创建的链接服务器名称 

'ai_mssql',             

--产品名称              

'ms',    

--OLE DB 字符

'SQLOLEDB', 

--数据源

'218.204.111.111,3342'

GO

 

 

--创建链接服务器上远程登录之间的映射

EXEC sp_addlinkedsrvlogin

'ai_mssql',

'false',

NULL,

--远程服务器的登陆用户名

'zhangzhe',

--远程服务器的登陆密码

'fish2231'

go

 

 

--查询数据

select * from ai_mssql.pubs.dbo.jobs

go

 

 

--还有一个更简单的办法

--这种方式在链接服务器建立后,它是默认开放RPC

 

--建立连接服务器

EXEC sp_addlinkedserver

--要创建的链接服务器名称

--这里就用数据源作名称

'218.204.111.111,3342',

'SQL Server'

GO

 

 

--创建链接服务器上远程登录之间的映射

EXEC sp_addlinkedsrvlogin

'218.204.111.111,3342',

'false',

NULL,

--远程服务器的登陆用户名

'zhangzhe',

--远程服务器的登陆密码

'fish2231'

go

 

 

--查询数据

select * from [218.204.253.131,3342].pubs.dbo.jobs

go

 

 

4.Oracle版本

 

--建立连接服务器

EXEC sp_addlinkedserver

--要创建的链接服务器名称 

'o',

--产品名称              

'Oracle',

--OLE DB 字符

'MSDAORA',

--数据源

'acc'

GO

 

 

--创建链接服务器上远程登录之间的映射

EXEC sp_addlinkedsrvlogin

'o',

'false',

NULL,

--Oracle服务器的登陆用户名

'F 02M 185',

--Oracle服务器的登陆密码

'f 02m 185185'

go

 

--查询数据

--格式:LinkServer..Oracle用户名.表名

--注意用大写,因为在Oracle的数据字典中为大写

select * from o..F 02M 185.AI

go

 

 

 

 

T-SQL汇总:访问外部数据源两种T-SQL方法

/*================================================================*/

/*==                                                                                                                                                                ==*/

/*==                         模板关键字说明                                                                                                           ==*/

/*==                                                                                                                                                                ==*/

/*================================================================*/

  链接服务器名

        要访问的服务器名。例如,对于SQL Server数据库而言是实例名,对于ORACLE数据库而言是SQL*Net别名

          访问OLE DB数据源的用户名

          访问OLE DB数据源的用户密码

      要访问的数据库名

              访问外部数据文件时,数据文件所在的目录

          访问外部数据文件时,数据文件的文件名

        SQL Server服务器操作系统数据源(ODBC),【系统DSN】中创建的系统DSN

       SQL Server服务器操作系统数据源(ODBC),【驱动程序】中列出的,当前操作系统安装的ODBC驱动程序名称

/*================================================================*/

/*==                                                                                                                                                                ==*/

/*==                  使用链接服务器访问OLE DB数据源                                                                                   ==*/

/*==                                                                                                                                                                ==*/

/*================================================================*/

--SQL Server

EXEC sp_addlinkedserver

        @server = '',

        @provider='SQLOLEDB',

        @datasrc=''

       

EXEC sp_addlinkedserver

        @server = ''

       

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider = 'MSDASQL',

        @provstr = 'DRIVER={SQL Server};SERVER=;UID=;PWD=;Database='

       

--Oracle

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Oracle',

        @provider = 'MSDAORA',

        @datasrc = ''

       

--Sybase

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider = 'MSDASQL',

        @provstr = 'Driver={Sybase System 11};Database=;Srvr=;UID=;PWD=;'

        

--ACCESS

EXEC sp_addlinkedserver

        @server = '',

        @provider = 'Microsoft.Jet.OLEDB.4.0',

        @srvproduct = 'OLE DB Provider for Jet',

        @datasrc = '/',

        @provstr = ';pwd='       

       

--Excel

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Jet 4.0',

        @provider = 'MICROSOFT.JET.OLEDB.4.0',

        @datasrc = '/',

        @provstr = 'Excel 8.0'

       

--Text

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Jet 4.0',

        @provider = 'MICROSOFT.JET.OLEDB.4.0',

        @datasrc = '',

        @provstr = 'Text'

       

--dBase

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Jet 4.0',

        @provider = 'MICROSOFT.JET.OLEDB.4.0',

        @datasrc = '',

        @provstr = 'dBase 5.0'

       

--Html

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Jet 4.0',

        @provider = 'MICROSOFT.JET.OLEDB.4.0',

        @datasrc = '/',

        @provstr = 'HTML Import'

       

--Paradox

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = 'Jet 4.0',

        @provider = 'MICROSOFT.JET.OLEDB.4.0',

        @datasrc = '',

        @provstr = 'Paradox 5.x'

       

--VFP

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider='MSDASQL',

        @provstr='Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB='

--ODBC系统DSN

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider='MSDASQL',

        @datasrc=''

--ODBC驱动程序(针对文件型数据库)

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider='MSDASQL',

        @provstr='Driver={};DefaultDir=|/'

--ODBC驱动程序(针对服务型数据库)

EXEC sp_addlinkedserver

        @server = '',

        @srvproduct = '',

        @provider='MSDASQL',

        @provstr='Driver={};Server=;UID=;PWD='

/*================================================================*/

/*==                                                                                                                                                                ==*/

/*==       使用OPENROWSET或者OPENDATASOURCE访问OLE DB数据源                                                  ==*/

/*==                                                                                                                                                                ==*/

/*================================================================*/

--SQL Server

--使用SQL Server身份验证

OPENROWSET('SQLOLEDB','';'';'',{[catalog.][schema.]object|'query'})

OPENROWSET('SQLOLEDB','ServerName=;PWD=;Database=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('SQLOLEDB','Data Source=;User ID=;Password=;Database=')

--使用Windows身份验证

OPENROWSET('SQLOLEDB','ServerName=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('SQLOLEDB','Data Source=;Integrated Security=SSPI;Database=')

--Sybase

OPENROWSET('MSDASQL','Driver={Sybase System 11};Srvr=;Database=;UID=;PWD=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MSDASQL','Driver={Sybase System 11};Srvr=;Database=;UID=;PWD=')

--ACCESS

OPENROWSET('Microsoft.Jet.OLEDB.4.0','/';'admin';'',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="/";Jet OLEDB:Database Password=')

--Excel

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;DATABASE=/',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;DATABASE=/')

--Text

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=')

--dBase

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','dBase 5.0;DATABASE=')

--Html

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','HTML Import;DATABASE=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','HTML Import;DATABASE=')

       

--Paradox

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Paradox 5.x;DATABASE=',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Paradox 5.x;DATABASE=')

       

--VFP

OPENROWSET('MSDASQL','Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=',{[catalog.][schema.]object|'query'})

--ODBC系统DSN

OPENROWSET('MSDASQL','';'';'',{[catalog.][schema.]object|'query'})

OPENDATASOURCE('MSDASQL','Driver={};Server=')

--ODBC驱动程序(针对文件型数据库)

OPENROWSET('MSDASQL','Driver={};DefaultDir=|/','query')

--ODBC驱动程序(针对服务型数据库)

OPENDATASOURCE('MSDASQL','Driver={};Server=;UID=;PWD=')

 

本文来自: 爱派论坛(Bbs.everp.CoM) 详细出处参考:http://bbs.everp.com/thread-816-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值