2012-03-06 60 views
1

當我的.Net WinForms應用程序試圖連接到Oracle數據庫使用System.Data.OracleClient.dll 64位Windows 7 machine.Am我得到這個錯誤作爲提供者。錯誤從.NET應用程序連接到Oracle數據庫在Windows 7

OCIEnvCreate失敗,返回代碼-1,但錯誤消息文本不是 可用。

能夠使用「udl文件」和本機上的「SQL Plus」實用程序連接到同一個數據庫。

在我的Windows 7機器,ORACLE_HOME目錄正確指向在環境變量和註冊表32位客戶端太多,但我仍然得到同樣的錯誤。

而且,我能夠連接到該數據庫從.net應用程序在Windows XP計算機上,即使沒有任何存在的這些環境變量。

您能否提供建議?

感謝您的閱讀。

+0

你用什麼來連接? ODP.NET,ODBC,...? – 2012-03-06 12:02:28

+0

我使用System.Data.OracleClient.dll連接到Oracle數據庫。 – user74042 2012-03-06 12:09:34

+0

您使用的是什麼版本的.NET框架?System.Data.OracleClient自.NET 4.0起棄用,Microsoft建議現在使用適用於Oracle的ADO.NET提供程序。 – 2012-03-13 13:00:56

回答

2
+0

感謝您的輸入安東尼。我的oracle_home目錄正確指向32位客戶端,但仍然得到相同的錯誤。請您建議?謝謝。 – user74042 2012-03-11 06:30:13

+0

你在你的應用的平臺目標中設置了什麼?嘗試x86 – 2012-03-11 11:47:00

+0

是的,我在VS.net中使用x86 – user74042 2012-03-11 12:46:40

2

從你的問題,它可能是有用的知道你的設置,即VS2010/2008等?
這是最近的問題還是新的機器構建?

你有一個單一的Oracle客戶端安裝即哪個版本,或者是你想使用即時客戶端? (您是否安裝過舊版本,可能會導致混淆)

System.Data.OracleClient現已折舊,ODP.NET(Oracle.DataAccess)是從Oracle直接提供的建議替換。

我有VS2010 + ODP.NET 11.2(ODAC)在Windows 7的開發機採用了11.1的32位客戶端和64位客戶端(如果我需要這一個不知道)。

請問您的解決方案建立或者你收到此錯誤信息使用GUI或在運行時? 你能夠使用VS中的服務器資源管理器進行連接嗎? 你有一個使用oracle的.net應用程序,可以在你的機器上測試嗎?

您也可以在環境中設置TNS_ADMIN路徑。

檢查您是否設置了路徑,例如: C:\ Oracle \ product \ 11.1.0 \ client32 \ bin,嘗試將其添加到路徑環境的開頭。

您的應用程序是否在另一個帳戶下運行?

像Antonio這樣的客戶端配置問題的可能性很大。

相關問題