SQL Server建立Oracle Link Server

SQL Server可以建立Link Server去連線另一個資料庫,其概念跟Oracle的DBLinke很像,但是可以連線的資料庫不限SQL Server本身,我們可以透過OleDB去連到不同品牌的資料庫例如Oracle等。

1.首先安裝ODAC 64bit版本(一定要64bit很重要)

我下載的版本為ODAC122010_x64.zip,解壓縮後執行setup,一路按下一步一直到安裝結束

安裝後要記得重開機、安裝後要記得重開機、安裝後要記得重開機

之後在SSMS重新整理提供者就會看到OraOLEDB.Oracle,但此時還不能設定Link Server

右鍵點選OraOLEDB.Oracle-->屬性-->勾選允許Inprocess

2.安裝後要設定tnsname.ora

在<disk:>\app\client\<user>\product\12.2.0\client_1\Network\Admin目錄內要有tnsname.ora,若沒有可以從上一層目錄Sample目錄內複製

設定內容參考如下

mydb =
   (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <dbip>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = orcl) 
    )
  )

3.建立Link Server

右鍵點選連結的伺服器-->新增連結的伺服器-->一般的頁面,輸入Link Server名稱,提供者下拉選擇Oracle Porvider for OLD DB

資料來源為tnsname.ora中設定的名稱(ex:mydb)

點選左側的安全性,設定登入時的帳號及密碼

在伺服器選項-->RPC輸出設為True,之後按確定若沒有錯誤就表示建立成功

可以右鍵點選剛剛建立的Link Serve-->測試連接,顯示測試成功

執行查詢語法測試,注意Link Server名稱後要帶2個".",而且使用者名稱及物件名稱都要大寫,否則會查不到。