您的位置:首页 > 数据库

Sql server 日记 (远程连接数据库库查询数据库)

2010-08-02 14:40 375 查看
有一项任务需要链接到另外的一个数据库来查询数据,开发部通知我多次设置没有链接上,让我帮忙解决一下。

刻不容缓。

本地sql server 是 dkso1srv330, 而需要链接的sql server 是 cnti1srv141。

通过语句链接比较简单,并且使用方便快速。

1------ 链接对方的数据库

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver 建立服务器之间的连接

@server = N'CNTI1SRV141', 需要链接的服务器是哪个

@srvproduct=N'SQL Server' 采用的连接方式是哪个

GO

EXEC master.dbo.sp_addlinkedsrvlogin 对已经链接的服务器进行登录

@rmtsrvname = N'CNTI1SRV141', Remote的服务器是哪个

@locallogin = NULL , NULL 指定此项应用于连接到 rmtsrvname 的所有本地登录

@useself = N'False', FALSE 指定 rmtuser 和 rmtpassword 参数用于连接到指定 locallogin 的 rmtsrvname

@rmtuser = N'sa', 被登录的服务器的用户名

@rmtpassword = N'XXXXX' 被登录的服务器的密码

GO

Select * from [cnti1srv141].test.dbo.who 查询对方服务器上的数据库数据

Go

USE [master]

GO

SP_droplinkedsrvlogin 'CNTI1SRV141','sa' 切断远程登录服务器的连接名以及本地具有取消远程登录的用户

GO

USE [master]

GO

sp_dropserver 'CNTI1SRV141','droplogins' 删除远程登录服务器在本地服务器的记录

问题解决了sql server之间的远程数据库查询问题,但如果是其他数据库 mysql 或oracle 则需要使用OLEB的方式来协议连接

@srvproduct=N'SQL Server'

如果是oracle远程连接则使用 MSDAORA 如果是 access 可以使用microsoft.jet.OLEDB.4.0 ,mysql 可以采用 MSDASQL或SQLOLEDB
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐