標籤:
思路:通過在sql server資料庫中添加連結的伺服器,可以遠程查詢oracle資料庫的表
環境準備,安裝sql server資料庫,並安裝好oracle驅動,在配置好tnsname檔案中配置好oracle串連,本人用的sql server2008 R2,oracle11g測試,提供者採用的OraOLEDB.Oracle(網上很多文章說這個不能成功,要選擇Microsoft OLE DB Privider for oracle,可我選擇這個配置成功,估計是不能同時存在兩個,如果有兩個,sql server預設用微軟的)
tnsmae配置如下:
orcl11 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = wilsonpc3 )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl11 )))
首先確保sql server 所在機器通過sqlplus能夠正常串連oracle
在sql server連結的伺服器中添加oracle的訪問,命名為Oracl
在SQL Server Management Studio中遠程查詢oracle資料庫
select * from openquery(Oracl,‘select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO from emp‘) ainner join EMP bon a.empno=b.EMPNOand b.EMPNO=7369
openquery 結果相當於返回的是一個遠端表對象,可以當做表去做sql語句的連結操作,也可對oracle資料進行更新刪除操作 ,例如下面的代碼是對遠端oralcle資料庫進行插入操作 :
insert into openquery(Oracl,‘select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO from emp‘)select [EMPNO]+1000,[ENAME],[JOB],[MGR],[HIREDATE],[SAL],[COMM],[DEPTNO]from emp
刪除操作:
delete from openquery(Oracl,‘select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO from emp‘)where empno=‘7369‘
有了以上的操作方法,sql server與oracle資料互導有了一個基本的思路。
sql server 與oracle資料互導的一種思路--sql server連結的伺服器