/////////////////////////////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