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

文章翻譯 文章翻譯
文章編號: 255084 - 檢視此文章適用的產品。
本文曾發行於 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 不保證此協力廠商聯絡資訊的準確性。

屬性

文章編號: 255084 - 上次校閱: 2003年10月15日 - 版次: 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
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com