SP_addlinkedserver 小结 ,oracle,sql server,access,excel

/////////////////////////////SQL SERVER////////////////////////////

Exec sp_droplinkedsrvlogin DBVIP,Null

Exec sp_dropserver DBVIP

EXEC sp_addlinkedserver

@server='DBVIP',--被访问的服务器别名

@srvproduct='',

@provider='SQLOLEDB',

@datasrc='Server2' --要访问的服务器

EXEC sp_addlinkedsrvlogin

'DBVIP', --被访问的服务器别名

'false',

NULL,

'sa', --帐号

'thankyoubobby' --密码

Select * from DBVIP.pubs.dbo.orders

/////////////////////////////ORACLE////////////////////////////

需要SQL SERVER服务器中安装ORACLE客户端;

Exec sp_droplinkedsrvlogin demo,Null

Exec sp_dropserver demo

go

EXEC sp_addlinkedserver

@server ='demo', --要创建的链接服务器别名

@srvproduct='Oracle', --产品名称

@provider='MSDAORA', --OLE DB 字符

@datasrc='ServiceName' --数据源 oracle"ora92"network"admin"tnsnames.ora 查看

EXEC sp_addlinkedsrvlogin

'demo', --已建立的链接服务器名

'false', -- 固定 */

NULL, --为每个登陆SQL SERVER的用户使用此链接服务器,否则写用户名 */

'userid', --帐号

'password' –密码

go

SELECT * FROM demo.. USERID.TABLE

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

数据库的格式必须是链接服务器名..ORACLE用户名.表名.

SELECT * FROM OPENQUERY(demo ,'select * from tbdemo' )

UPDATE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE id = 101')

SET name = 'hello';

INSERT OPENQUERY (demo, 'SELECT id FROM tbdemo')

VALUES ('hello');

DELETE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE name = ''hello''');

如此则在SQL SERVER中就可以访问ORACLE的数据了。

建立的链接服务器可以在企业管理器中看见.

/////////////////////////////ACCESS////////////////////////////

--建立连接服务器

EXEC sp_addlinkedserver

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

‘access', --产品名称

'Microsoft.Jet.OLEDB.4.0', --OLE DB 字符

'd:"testdb"db.mdb' --数据源 -- 盘符:"路径"文件名 -- ""网络名"共享名"文件名 (网络版本)

GO

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

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

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

exec sp_addlinkedsrvlogin 'ai','false'

go

select * from ai...mytable

/////////////////////////////EXCEL////////////////////////////

--建立连接服务器

EXEC sp_addlinkedserver

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

'ex', --产品名称

'Microsoft.Jet.OLEDB.4.0', --OLE DB 字符

'd:"testdb"mybook.xls' , --数据源 -- 盘符:"路径"文件名-- ""网络名"共享名"文件名 (网络版本)

null,

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

GO

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

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

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

exec sp_addlinkedsrvlogin 'ai_ex','false'

go

--查询数据

select * from ai_ex...sheet3$

/////////////////////////////MS SQL////////////////////////////

--建立连接服务器

EXEC sp_addlinkedserver

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

'ms', --产品名称

'SQLOLEDB', --OLE DB 字符

'218.204.111.111,3342' --数据源

GO

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

EXEC sp_addlinkedsrvlogin

'ai_mssql',

'false',

NULL,

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

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

go

--查询数据

select * from ai_mssql.pubs.dbo.jobs

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

--这种方式在链接服务器建立后,它是默认开放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