2010-08-20 40 views
0

我有一個C#ASMX web服務,它使用Oracle.DataAccess.Client連接到Oracle數據庫。當我嘗試調用Web方法我收到此錯誤信息:WebService使用文件共享中的ODP.NET

無法加載DLL「OraOps10.dll」

這是同樣的問題,因爲asked before,與顯著區別在於我做有ODAP(至少我在Oracle客戶端安裝的bin目錄中有OraOps10.dll),但在文件共享(W :)上安裝,並且未在我的機器上註冊(其中Web服務在VisualStudio的測試上運行網絡服務器)。

即使當我試圖將所述DLL複製到web服務bin /目錄中時,它也找不到它。 stacktrace聽起來像是在註冊表中查找它。

有什麼方法可以告訴我的Web服務在哪裏可以找到ODAP安裝?(設置ORACLE_HOME在web.config或同級)

請注意:工作Oracle客戶端安裝,請每個目標機器上,它工作正常打開與System.Data.Oracle Oracle連接,只該客戶端安裝似乎不包括ODAP:我無法在「添加引用 - > .NET」中找到任何「Oracle」條目。*)

回答

2

如果我正確讀取它,聽起來像您有Oracle客戶端安裝在本地,但不是本地安裝的ODP.net客戶端,而是安裝在另一臺計算機上,但它將ORA主頁用作共享的'W:'驅動器。

您是否知道W:驅動器上的ODP安裝類型?

如果它是XCOPY(但您也可以安全地使用經典安裝進行試用),您只需添加PATH變量即可安全:(像往常一樣,在PATH或註冊表中圍繞之前) UP) http://www.oracle.com/technetwork/oramag/2008/08-nov/o68odpnet-101744.html

步驟8: 在 開發機器上安裝Oracle 數據訪問組件和Oracle數據庫 即時客戶端的最後一步是將兩個項目 添加到Path環境變量。 右鍵單擊「我的電腦」圖標並從 菜單中選擇「屬性」 。接下來,單擊系統屬性對話框中的 和 中的高級選項卡,然後單擊環境變量 按鈕。在系統變量組中, 找到列表中的路徑變量 (如果需要,向下滾動)。點擊列表中的 路徑變量,然後點擊編輯 。在編輯系統 變量對話框中,將光標 置於條目的開頭,並將 鍵入爲 C:\ oracle \ 11.1 \ odac; C:\ oracle \ 11.1 \ odac \ bin; 。單擊確定關閉編輯系統 變量對話框,單擊確定關閉 環境變量對話框, 最後再次單擊確定關閉 系統屬性對話框

至於註冊表中;檢查

HLM \ SOFTWARE \ ORACLE \ ODP.NET

肯定火的方式來得到它的工作是在本地安裝ODP到測試盒,但PATH變量應該是所有你需要。你可以找到這些文件@ http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

+0

謝謝你,會在週末後試試。至於註冊表:該註冊表中不存在該密鑰。我沒有ORACLE_HOME環境變量。在註冊表中,定義了一個家庭。那個也在W:\驅動器上,但它是不同的安裝(9i與10g) – chiccodoro 2010-08-20 15:14:25