您目前已離線,請等候您的網際網路重新連線

HOWTO:疑難排解 ASP 與 Oracle 連線問題

本文曾發行於 CHT255084
結論
本文列出用來疑難排解 Active Server Pages (ASP) 應用程式連線至 Oracle 資料庫時所發生之問題的常見步驟。以下是一些較常見的錯誤訊息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Oracle][ODBC][Ora]ORA-12154: TNS:Could not resolve service name /vdir/filename.asp, line xxx. (Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' [Oracle][ODBC][Ora]ORA-12154:TNS:無法解析服務名稱 /vdir/filename.asp,第 xxx 行)。
- 以及 -
The Oracle(tm) client and networking components were not found. These components are supplied by Oracle Corporation and are part of the Oracle Version 7.3 (or greater) client software installation. ((找不到 Oracle(tm) 用戶端和網路元件,這些元件是由 Oracle Corporation 所提供,且為 Oracle 7.3 版 (或更新版) 用戶端軟體安裝的一部分)。

在安裝完這些元件之前,您無法使用這個驅動程式。
其他相關資訊
下列是在調查 ASP 和 Oracle 資料庫之間的連線問題時,可用的一般步驟清單。
  1. 請先確認您是否可以連線至 Oracle,並使用 Oracle 的 SQL Plus 公用程式 (此為以命令列為基礎的查詢公用程式) 擷取資料。如果您無法從這項工具進行連線,則表示不是安裝失敗,便是 Oracle 用戶端元件的設定錯誤,或者沒有正確地使用 SQL Net Easy Config 或 Oracle Net8 Easy Config 公用程式來建立 Oracle 伺服器的別名。您必須使用 Oracle 資料庫系統管理員,以確認已安裝並正確地設定必要的 Oracle 元件。
  2. 如果最近才在 Internet Information Server (IIS) 電腦上安裝 Oracle 用戶端,請確認電腦至少重新開機過一次。有時在安裝後,Oracle 元件 SQL Plus 執行正常,但 IIS 的連線卻會在重新開機之後才運作。
  3. 在 IIS 伺服器上找出 OCIW32.dll 檔的多個複本。這個 .dll 檔案在電腦上應該只有一份複本,且應位於 Oracle 主資料夾的 \Bin 子資料夾中。如果您找到其他複本,請將它們以 .bak 副檔名重新命名,然後重新測試連線。在您重新命名所找到的 .dll 檔的其他複本之後,就可以重新啟動 IIS 服務。
  4. 請確認您正在執行 Oracle 元件的建議版本。您可以根據下列的 Microsoft Knowledge Base 文件來確認其版本:
    193225 How to Configure IIS to Connect to Oracle from ASP and ADO
    如果您需要補充程式,可以從 Oracles FTP 網站取得 ftp://Oracle-ftp.oracle.com。如需有關如何取得並安裝這些補充程式的詳細資訊,請使用資料庫系統管理員,或聯絡 Oracle 技術支援部 (Microsoft 技術支援部門不支援這些 Oracle 元件的設定)。
  5. 請檢查以確認 Oracle 用戶端元件已安裝在 IIS 伺服器本機上。雖然並不一定要在本機上安裝 Oracle 元件,才能使其他應用程式運作,但如果沒有安裝,您使用 ASP 應用程式時就會發生問題。Microsoft 建議您,將這些元件安裝在 IIS 伺服器上;不支援其他自訂設定。
  6. 瀏覽 IIS 電腦上的系統環境變數,並檢查 PATH 變數。如果有任何遠端共用名稱或對應磁碟機指向包含 Oracle 元件的位置,請將它們移除。您必須重新開機,所做的變更才會生效。
  7. 再次瀏覽 IIS 電腦上的系統環境變數,並檢查 PATH 變數。請確定 Oracle 主目錄下的 \Bin 資料夾 是 PATH 環境變數的一部份。在預設安裝中,這是 Orant\Bin 資料夾。您必須再次重新開機,所做的變更才會生效。
  8. 嘗試同時連線 Microsoft ODBC for Oracle 驅動程式與 Microsoft OLEDB Provider for Oracle。 以下分別是上述兩項服務的連接字串語法範例:
    'Microsoft OLEDB Provider for Oracle"Provider=MSDAORA.1;Data Source=Your_TNSNames_Alias;User ID=User;Password=Password"'Microsoft ODBC for Oracle DSN-Less "Provider=MSDASQL;DRIVER={Microsoft ODBC for ORACLE};UID=User;PWD=Password;Server=Your_TNSNames_Alias"'Microsoft ODBC for Oracle using a DSN"DSN=Your_DSN_Name;UID=User;PWD=Password"					
  9. 停用 SQL*Net 驗證。如果要執行這項操作,請編輯 SQLNET.ora 檔案。這個設定檔通常是存放在 Oracle 主資料夾的 Network\Admin 子資料夾中。請將下列各行加入這個檔案:
    SQLNET.AUTHENTICATION_SERVICES = (none)SQLNET.AUTHENTICATION = (none)						
    在您做出變更之後,請重新啟動 IIS 服務。
  10. 新增 IUSR_machine name 帳號與 IWAM_machine name 帳號到 Oracle 主資料夾。授予兩個帳號完整的控制權。

    如果要執行這項操作,請在 Windows 檔案總管中的 Oracle 主資料夾上按一下滑鼠右鍵。按一下 [內容],然後按一下 [安全性] 索引標籤。新增適當的帳號,再授予完整的控制權。重新啟動電腦。
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。Microsoft 不以暗示或其他方式,提供與這些產品的效能或可靠性有關的保證。

Microsoft 提供協力廠商的聯絡資訊,以協助您找出技術支援。此聯絡資訊若有變更,恕不另行通知。Microsoft 不保證此協力廠商聯絡資訊的準確性。
error 80004005
內容

文章識別碼:255084 - 最後檢閱時間:10/15/2003 18:14:00 - 修訂: 4.0

  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • kbhowto kboracle KB255084
意見反應
l>