原先使用Windows7升級到Windows10的作業系統,只要安裝Oracle Client端軟體後,稍作設定,使用Toad仍能連線至Oracle 10g資料庫維護。

後來領到新電腦的同事發現,這在Windows10環境下行不通了,在網路上查找一番後,終於試出了解決方案,經同事驗證確實可行,為防忘記,作個紀錄。

安裝Oracle Instatnt Client

使用Oracle 10g Client安裝光碟,安裝InstantClient。

下載32位元版的InstantClient

Oracle官方網站 選擇32-bit版本。

20200531-02

因為要連的是Oracle 10g,所以我選擇下載Version 10.1.0.5:

  1. Instant Client Package - Basic
  2. Instant Client Package - ODBC

記得要先註冊成為Oracle會員,才能下載。

解壓縮以下兩個檔案完成後,到安裝好的oracle_home目錄下,例如D:\oracle\product\10.2.0\client_1,覆蓋相關所有檔案。

  1. instantclient-basic-win32-10.1.0.5-20060419.zip
  2. instantclient-odbc-win32-10.1.0.5-20060419.zip

新增tnsnames.ora檔案

原先安裝好Oracle Instantclient,在oracle_home目錄下沒有network/admin/tnsnames.ora這個檔。

直接從舊電腦複製過來即可,內容大概長這樣:

# TNSNAMES.ORA Network Configuration File: C:\oracle\product\8i\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

XX_01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
XX_02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.0.0.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
    )
  )

設定TNS_NAME環境變數

因為要告訴Toad去哪裡找到tnsnames.ora,所以請到〔本機〕按右鍵開啟〔內容〕的〔進階系統設定/進階/環境變數〕中新增系統變數。

20200531-03

設定NLS_LANG語系

由於Oracle 10g的編碼還是Big5,因此需要在Windows的登錄編輯程式,設定語系。

  1. 在Windows下方搜尋列,輸入regedit。
  2. 在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE中,新增語系設定為"NLS_LANG"=“AMERICAN_AMERICA.WE8ISO8859P1”。

20200530-06

使用Toad連線測試

接下來打開Toad測試即可。