SQL

sqlexpress連結伺服器oracle

    1. 安裝ms sql express
      因為我的伺服器是windows 2008所以最高只能裝ms sql express 2012
      下載會有好多選項,就使用Express with Tools –> SQLEXPRWT_x64_CHT.exe
      包含有LocalDB、Database Engine、SQL Server Management Studio Express
    2. 安裝instantclient,下載basiclite版即可!下載解壓後先執行任一exe檔看看是否可正常執行!另有可能缺Visual C++包!
      需加入PATH的C:\Program Files\Oracle\instantclient_12_2
      建立tnsnames.ora,路徑:C:\Program Files\Oracle\instantclient_12_2\network\ADMIN
    3. 連結伺服器使用OraOLEDB.Oracle,下載ODAC,用XCOPY版的。
      A.解壓之後,只取oledb資料夾,並放在如右範例路徑:C:\Program Files\Oracle\instantclient_12_2\oledb
      B.將oledb底下資料夾bin如入PATH的環境變數
      C.註冊regsvr32 OraOLEDB11.dll ,不用切換路徑,因巳加入PATH
    4. 伺服器請重開機!
    5. 加入允許inprocess
    6. 新增連結伺服器
    7. 新增完成使用者,要給最低權限
      因為在開啟Linked Server的單獨權限時,需要可以進行Master的權限,所以Master的部份只需給予預設的 [public] 的權限,其他的權限都不用給。
    8. 雖然可以看到Linked Server,但是當要展開細部的資訊時,由於沒有執行的權限,請開啟如下權限:
      Use master
      GRANT EXECUTE ON sys.xp_prop_oledb_provider TO [帳號] 
    9. 查詢使用範例:
      SELECT * FROM OPENQUERY ( TOPPROD, ‘SELECT * FROM TSC.AAA_FILE’);

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。