使用MSSQL实现跨库数据的联合查询

MSSQL可以帮助我们实现跨库数据的联合查询,这是通过使用链接服务器的方式来实现的。有三种经常使用的方法可以实现:

方法一:使用linkedserver

使用linkedserver可以非常方便的联链接区别的数据库,在跨库查询时允许混合各种数据源,例如Oracle或MySQL等;其使用方法以下:

“`SQL

EXEC sp_addlinkedserver

@server=’外部数据库服务器名’,

@srvproduct=”,

@provider=’sqloledb’,

@datasrc=’外部数据库的IP地址’ @provstr=’数据库驱动连接信息设置’


方法二:使用OPENROWSET

使用openrowset它允许查询远程数据源作为一个表,如果没有加密,它可以直接连接远程服务器,而且它是在SQL Server中查询其他各种提供程序(如ORACLE或MYSQL)时最经常使用的一种方法;其使用以下:

```SQL
SELECT *
FROM OPENROWSET(\'SQLNCLI\',
\'Server=外部数据库IP地址; UID=用户名;PWD=密码;Database=数据库名\',
\'SELECT * FROM 外部表名\')

方法三:使用OPENDATASOURCE

使用OpenDataSource函数可以访问网络上的其它数据服务器的连接,它能支持MSQL、ORACLE、EXCEL等各种数据源,使用它可以很方便的联合查询外部数据源;其语法以下:

“`SQL

SELECT *

FROM OPENDATASOURCE(‘SQLNCLI’,

‘DataSource=外部数据库IP地址;UID=用户名;PWD=密码;Database=数据库名’)

.外部表名


以上就是怎样使用区别的方法实现mssql跨库查询。MSSQL可以帮助我们实现跨库数据查询,使用上述方法应当可以满足我们的大多数需求。
THE END