創建鏈接服務器
exec
sp_addlinkedserver
'ITSV' ,
' ' ,
'SQLOLEDB' ,
'192.168.0.237' --sql服務器ip地址
exec
sp_addlinkedsrvlogin
'ITSV'
,
'false'
,
null
,
'sa' --用戶名
,
'123' --密碼
select* from ITSV.XYMES_AiQi.AreaInfo
--執行洗掉ITSV,不使用時需要洗掉否則下次執行會報錯(存在)
exec
sp_dropserver
'ITSV'
,
'droplogins'
連接遠程/局域網資料(openrowset/openquery/opendatasource)
1.openrowset
–查詢示例
select * from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服務器名ip地址
;
'sa' --用戶名
;
'123' --密碼
,[XYMES_AiQi].[dbo].[AreaInfo]) --資料庫名.dbo.表名
–生成本地表
select * into
AreaInfo --表
from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服務器名ip地址
;
'sa' --用戶名
;
'123' --密碼
,[XYMES_AiQi].[dbo].[AreaInfo]) --資料庫名.dbo.表名
–把本地表匯入遠程表
insert
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服務器名ip地址
;
'sa' --用戶名
;
'123' --密碼
,[XYMES_AiQi].[dbo].[AreaInfo]) --資料庫名.dbo.表名
select * from [AreaInfo] --本地表
–更新本地表
update b set b.列A=a.列A
from
openrowset(
'SQLOLEDB '
,
'192.168.0.237' --sql服務器名ip地址
;
'sa' --用戶名
;
'123' --密碼
,[XYMES_AiQi].[dbo].[AreaInfo]) --資料庫名.dbo.表名
as a inner join
[AreaInfo] b --本地表
on
a.column1=b.column1
2.openquery用法需要創建一個連接
–創建一個連接創建鏈接服務器
--創建一個連接創建鏈接服務器
exec
sp_addlinkedserver
'ITSV '
,
' '
,
'SQLOLEDB '
,
'192.168.0.237' --遠程sql服務器名ip地址
–查詢
--查詢
select * FROM
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 資料庫.dbo.表名
)
–把本地表匯入遠程表
--把本地表匯入遠程表
insert
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 資料庫.dbo.表名
)
select * from AreaInfo --本地表
–更新本地表
--更新本地表
update b set b.列B=a.列B FROM
openquery(ITSV,
'SELECT * [XYMES_AiQi].[dbo].[AreaInfo]' --SELECT * FROM 資料庫.dbo.表名
)
as a inner join
AreaInfo --本地表
b
on
a.列A=b.列A
3.opendatasource/openrowset
SELECT * FROM
opendatasource(
'SQLOLEDB '
,
'Data Source=192.168.0.237/ServerName;User ID=sa;Password=123' --Data Source=ip/ServerName;User ID=登陸名;Password=密碼
).[XYMES_AiQi].[dbo].[AreaInfo] --資料庫.dbo.表名
--把本地表匯入遠程表
insert
opendatasource(
'SQLOLEDB '
,
'Data Source=192.168.0.237/ServerName;User ID=sa;Password=123' --Data Source=ip/ServerName;User ID=登陸名;Password=密碼
).[XYMES_AiQi].[dbo].[AreaInfo] --資料庫.dbo.表名
select * from [AreaInfo] --本地表
4.EXEC AT使用 必須啟動rpc
EXEC
sp_addlinkedserver
'chinancl'
,
' '
,
'SQLOLEDB'
,
'CHINANCL-CMS'
--新建連接
EXEC
sp_addlinkedsrvlogin
'chinancl'
,
'false'
,
null
,
'sa'
,
'sa'
--用戶名 密碼
EXEC
sp_serveroption
'chinancl'
,
'rpc out'
,
true
--啟動RPC
–洗掉鏈接登錄名
EXEC
(
'create database text '
)
at
[chinancl]
EXEC
(
' use text
create table text (id int)'
)
at
[chinancl]
exec
sp_dropserver
'chinancl'
,
'droplogins'
--洗掉鏈接登錄名
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/148965.html
標籤:其他
上一篇:分布式鎖-資料庫實作
下一篇:服務報錯:java.sql.SQLException: Field ‘***‘ doesn‘t have a default value
