2012-03-06 42 views
1

.Net winformsアプリケーションが64ビットWindows 7マシンでOracleデータベースに接続しようとすると、このエラーが発生します.AmはSystem.Data.OracleClient.dllプロバイダとして。Windows 7の.netアプリケーションからOracleデータベースに接続中にエラーが発生しました

OCIEnvCreateは戻りコード-1で失敗しましたが、エラー・メッセージ・テキストは ではありませんでした。

"udlファイル"を使用し、このマシンで "SQL Plus"ユーティリティを使用して同じデータベースに接続できます。

私のWindows 7マシンでは、ORACLE_HOMEディレクトリが環境変数とレジストリの32ビットクライアントを正しく指していますが、同じエラーが発生しています。

また、これらの環境変数が存在しない場合でも、Windows XPマシンの.Netアプリからこのデータベースに接続できます。

助言してください。

読んでいただきありがとうございます。その例外の

+0

接続には何を使用していますか? ODP.NET、ODBC、...? –

+0

私はSystem.Data.OracleClient.dllを使用してOracleデータベースに接続します。 – user74042

+0

どの.NET Frameworkのバージョンを使用していますか?System.Data.OracleClientは.NET 4.0以降では推奨されていません.Oracle用のADO.NET Providerを使用することをお勧めします。 –

答えて

2

最も一般的な理由は、自分のORACLE_HOMEの設定が間違っているということですか、32ビットの1を指して、次を参照してください。

http://blogs.msdn.com/b/spike/archive/2008/11/06/connecting-to-an-oracle-server-you-know-is-there-but-connection-still-fails-what-gives.aspx

あなたの質問から

http://www.lequestion.com/questions/249/ocienvcreate-failed-with-return-code-1-but-error-message-text-was-not-available

+0

あなたの入力用のAntonioさんに感謝します。私のoracle_homeディレクトリは、32ビットクライアントを正しく指していますが、同じエラーが発生しています。 – user74042

+0

アプリケーションのプラットフォームターゲットにはどのような設定がありますか? x86を試してください –

+0

はい、VS.netのx86を使用しています – user74042

2

、それが有用である可能性がありますあなたのセットアップすなわちVS2010/2008などを知りたいですか?
最近の問題か、新しいマシンビルドですか?

インスタント・クライアントを使用しようとしているoracleクライアントのインストールは1つですか? (以前にインストールされた古いバージョンで混乱の原因となっていましたか?)

System.Data.OracleClientは現在償却されており、ODP.NET(Oracle.DataAccess)はOracleから推奨される直接置換です。

私はVS2010 + ODP.NET 11.2(ODAC)と11.1 32bitクライアントと64bitクライアント(これが必要かどうかわからない)を備えたWindows 7開発マシンを持っています。

guiまたは実行時に、このエラーメッセージが表示されるのですか? VS内でサーバーエクスプローラを使用して接続できますか? oracleを使用して、動作し、マシン上でテストできる.NETアプリケーションがありますか?

また、環境内でTNS_ADMINパスを設定することもできます。

パスが設定されていることを確認してください。 C:¥Oracle¥product¥11.1.0¥client32¥binの場合は、パス環境の先頭に追加してください。

アプリケーションが別のアカウントで実行されていますか?

おそらく、Antonioのようなクライアント構成の問題が示唆しています。

関連する問題