專案陸續改用Managed ODP.NET,實際用過幾回,發現設定TNS_ADMIN環境變數最省事直覺,只要維護一份TNSNAMES.ORA,設定一次即可供所有網站共用,TNS_ADMIN的變數名稱又很清楚明瞭。(參考:指定TNSNAMES.ORA共有config設定/複製TNSNAMES.ORA檔案到執行檔路徑/TNS_ADMIN環境變數/ORACLE_HOME環境變數相對路徑等做法)

今天處理一台伺服器上線,設完TNS_ADMIN,卻一直吐出「ORA-12154 TNS: 無法解析指定的連線ID」,反覆檢查有沒有打錯字,眼睛睜大到眼眶都快滲血,也重啟過Appliation Pool,改用config setting設定(參考如下)就正常驗證TNSNAMES.ORA內容無誤,但怎麼就是無法用TNS_ADMIN環境變數搞定。

<oracle.manageddataaccess.client>
<version number="*">
  <settings>
     <setting name="TNS_ADMIN" value="X:\Oracle\..略...\Network\Admin" />
  </settings>
<version>
<oracle.manageddataaccess.client>

花了近三小時,學到一則教訓

設完環境變數後,要先IISRESET才會在ASP.NET生效 句點

刻骨銘心,沒齒難忘!


Comments

Be the first to post a comment

Post a comment