数据库教程:解析MSSQL跨数据库查询的实现方法分享

代码如下:
–创建链接服务器  
exec  sp_addlinkedserver      ‘链接服务器名称’,  ”,  ‘SQLOLEDB’,  ‘远程服务器名或ip地址’  
exec  sp_addlinkedsrvlogin    ‘链接服务器名称’,  ‘false’,null,  ‘需要链接服务器用户名’,  ‘密码’  
sp_addlinkedserver
[@server=]’server’
[,[@srvproduct=]’product_name’]
[,[@provider=]’provider_name’]
[,[@datasrc=]’data_source’]
[,[@location=]’location’]
[,[@provstr=]’provider_string’]
[,[@catalog=]’catalog’]
参数(Parameters):
[@server=]’server’
要创建的链接服务器的名称。server的数据类型为sysname,没有默认值。
[@srvproduct=]’product_name’
要添加为链接服务器的OLEDB数据源的产品名称。product_name的数据类型为nvarchar(128),默认值为NULL。如果为SQLServer,则不必指定provider_name、data_source、location、provider_string和catalog。
[@provider=]’provider_name’
与此数据源对应的OLEDB访问接口的唯一编程标识符(PROGID)。对于当前计算机中安装的指定OLEDB访问接口,provider_name必须唯一。provider_name的数据类型为nvarchar(128),默认值为NULL;但如果忽略provider_name,则使用SQLNCLI。SQLNCLI是SQL本机OLEDB访问接口。OLEDB访问接口应以指定的PROGID在注册表中注册。
 
[@datasrc=]’data_source’
由OLEDB访问接口解释的数据源的名称。data_source的数据类型为nvarchar(4000)。data_source作为DBPROP_INIT_DATASOURCE属性传递以初始化OLEDB访问接口。
[@location=]’location’
由OLEDB访问接口解释的数据库的位置。location的数据类型为nvarchar(4000),默认值为NULL。location作为DBPROP_INIT_LOCATION属性传递以初始化OLEDB访问接口。
[@provstr=]’provider_string’
OLEDB访问接口特定的连接字符串,它可标识唯一的数据源。provider_string的数据类型为nvarchar(4000),默认值为NULL。provstr或传递给IDataInitialize或设置为DBPROP_INIT_PROVIDERSTRING属性以初始化OLEDB访问接口。
在针对SQL本机客户端OLEDB访问接口创建链接服务器后,可将SERVER关键字用作SERVER=servername/instancename来指定实例,以指定特定的SQLServer实例。servername是运行SQLServer的计算机名称,instancename是用户将连接到的特定SQLServer实例的名称。
[@catalog=]’catalog’
与OLEDB访问接口建立连接时所使用的目录。catalog的数据类型为sysname,默认值为NULL。catalog作为DBPROP_INIT_CATALOG属性传递以初始化OLEDB访问接口。在针对SQLServer实例定义链接服务器时,目录指向链接服务器映射到的默认数据库。
返回代码值(returnValue):
(成功)或1(失败)
权限:
要求具有ALTERANYLINKEDSERVER权限。
—————————————
sp_addlinkedsrvlogin[@rmtsrvname=]’rmtsrvname'[,[@useself=]’useself’][,[@locallogin=]’locallogin’][,[@rmtuser=]’rmtuser’][,[@rmtpassword=]’rmtpassword’] 注意:不能从用户定义的事务中执行sp_addlinkedsrvlogin。  参数(Parameters):[@rmtsrvname=]’rmtsrvname’应用登录映射的链接服务器的名称。rmtsrvname的数据类型为sysname,没有默认值。 [@useself=]’useself’  确定用于连接远程服务器的登录名。useself的数据类型为varchar(8),默认值为TRUE。  值为true时指定登录使用自己的凭据连接rmtsrvname,忽略rmtuser和rmtpassword参数。 false指定使用rmtuser和rmtpassword参数连接指定locallogin的rmtsrvname。 如果rmtuser和rmtpassword也设置为NULL,则不使用登录名或密码来连接链接服 器。 [@locallogin=]’locallogin’ 本地服务器上的登录。locallogin的数据类型为sysname,默认值为NULL。 NULL指定此项应用于连接到rmtsrvname的所有本地登录。 如果不为NULL,则locallogin可以是SQLServer登录或Windows登录。 对于Windows登录来说,必须以直接的方式或通过已被授权访问的Windows组成员身份授予其访问SQLServer的权限。[@rmtuser=]’rmtuser’ 当useself为false时,表示用于连接rmtsrvname的用户名。 rmtuser的数据类型为sysname,默认值为NULL。[@rmtpassword=]’rmtpassword’ 与rmtuser关联的密码。rmtpassword的数据类型为sysname,默认值为NULL。  返回代码值(returnValue): 0(成功)或1(失败)  权限:需要对服务器具有ALTERANYLOGIN权限。   
———————————————————————————————-查询示例select  *  from  链接服务器名.数据库名.dbo.表名
您可能感兴趣的文章:Access的跨库查询(图)SQLServer跨库查询实现方法Oracle跨数据库查询并插入实现原理及代码深入SQLServer跨数据库查询的详解php结合ACCESS的跨库查询功能跨数据库实现数据交流

标签: 数据库 数据 方法 SQL

深入char、varchar、text和nchar、nvarchar、ntext的区别详解

基于SQL中SET与SELECT赋值的区别详解

上述就是数据库技术:解析MSSQL跨数据库查询的实现方法分享的全部内容,如果对大家有所用处且需要了解更多关于mysql数据库学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/910669.html

(0)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐