我們知道SQL Server和Oracle其實很多原理都類似.特別是一些常用的SQL語句都是按照標准來.所以它們也可以有一定的互操作性的.這里講一下,怎么配置讓SQL Server連接一個Oracle.然后你在SQL Server中也能查看Oracle中表的內容.
我先說下我使用的環境:
操作系統: win7 64 ,SQL Server 2008 ,Oracle Server 11gr1
另外進行配置前還要注意幾點,是在SQL Server服務器所在地方進行配置.(客戶端能不能我沒試過,不確定).Oracle的server隨便在哪無所謂了,只要你能連接得到就行.然后就是要裝好oracle的客戶端.
第一步 安裝好oracle客戶端,並配置好TNS信息
先配置好oracle的TNS連接信息.這個跟正常情況使用oraclep完全一樣
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 123.456.176.42)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
第二步,配置odbc信息
配置好odbc連接信息,sql server肯定不能直接調用oracle的客戶端去連接的,只能通過odbc的方式間接的去連.在你平時敲cmd的地方敲入odbc打開下面界面.你先去driver那地方看下有oracle的driver了不.裝好了oracle的客戶端的話肯定就會有的.
然后選user DSN,點Add ,選擇上一個畫面中看到的oracle driver.
出現這頁面后,在Data Source Name隨便輸入一個名字,這個名字就要后面sql server要用到的.TNS Service Name的下拉列表中就是oracle中配置好的TNS信息,如果你開始沒有配置的話這里就為空的.你選一個TNS名字后,可以點下test connection驗證下看連接上了不.
第三步 在sql server中配置
在前面創建好odbc數據源后就可以在sql server中配置了啊.先打開management studio.在server objects下面有個Linked Servers,選中它並右擊new linked server.打開如下頁面.在linked server中輸入一個名字,隨便取的,在后面執行sql時會用到這名字.provider就選Oracle Provider for OLE DB. product name就填oracle
Data source就是你開始配置odbc時取的名字.其他地方就不用管了.然后再點下Security會彈出另一個頁面
在此頁面最下面的地方輸入用戶名和密碼,然后點OK
於是大功告成了.你在Linked Servers下面會看到ORA_ARWEN.下面就來執行幾個SQL驗證下
select * from openquery(ORA_ARWEN,'select sysdate from dual');
--select * from openquery這是固定的格式,然后在括號中先寫上你剛創建好的名字.這里是ORA_ARWEN,然后用一個單引號把一個sql語句括起來.此Sql語句就是在Oracle中要執行的Sql語句.select sysdate from dual是oracle獲取當前時間的sql.假如你連接的那用戶arwen下面有表info,你也可以寫select * from info