SqlServer中創建Oracle連接服務器


第一種:界面操作

1展開服務器對象-->鏈接服務器-->右擊新建鏈接服務器

2)輸入鏈接服務器的IP

3)鏈接成功后

 

第二種:語句操作

注:需要提前安裝Oracle客戶端程序,重啟機器。(如果沒有Oracle客戶端程序,提示“未找到Oracle客戶端和網絡組件”)

EXEC sp_addlinkedserver

@server='Province', --被訪問的服務器別名

@srvproduct='ORACLE', --SqlServer默認不需要寫

@provider='MSDAORA', --不同的庫都是不一樣的,OLE DB字符

@datasrc='192.168.88.88/ORCL'--要訪問的服務器

GO

 

EXEC sp_addlinkedsrvlogin 

@rmtsrvname='Province', --被訪問的服務器別名

@useself='false', --固定這么寫

@locallogin='sa', --本地操作應戶名

@rmtuser='kobe', --被訪問的服務器用戶名

@rmtpassword='kobe123'--被訪問的服務器用密碼

GO

 

--參數解釋:

sp_addlinkedserver:創建一個鏈接的服務器,使其允許對分布式的、針對 OLE DB 數據源的異類查詢進行訪問。

sp_addlinkedsrvlogin:創建或更新本地 Microsoft® SQL Server™ 實例上的登錄與鏈接服務器上遠程登錄之間的映射。

 

 

現在測試一下,用帳號sa本地登錄SqlServer,新建一個查詢,輸入

SELECT * FROM OPENQUERY(Province, 'select * from t_base_school')

比如:

SELECT organization_id,organization_name FROM OPENQUERY(Province, 'select * from t_base_organizationtree')

沒問題的話,就能查詢到數據了。

 

一些常用操作:

--查詢操作

SELECT * FROM OPENQUERY(Province, 'select * from t_base_duty')

--刪除操作

DELETE FROM OPENQUERY(Province, 'select * from t_base_duty')

--插入操作

INSERT INTO OPENQUERY (province,'SELECT * FROM t_base_role') (role_id,role_name,bureautype_id,is_system,b_use,field_order,b_del,identity_id) VALUES (10,'科比',7,1,0,1,0,2)

--更新操作

UPDATE  OPENQUERY (province,'SELECT * FROM t_base_role') SET role_name='科比' WHERE role_id=10

注:技巧(OPENQUERY(Province, 'select * from t_base_duty') 看做是一張表)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM