0

私はWindowsフォームアプリを持っています.OracleManagedドライバーを使用してOracle 11g DBに接続しようとしています. ただし、ODP.NET 64ビットdllを介して接続しようとすると、接続されます(このため、x64でアプリを構築することを確認しました)。以下サンプルコード。2 番目のステートメントに切り替えると、接続を開くときにエラーが発生します。

Oracle.DataAccess.Client.OracleConnection con = new Oracle.DataAccess.Client.OracleConnection();
//Oracle.ManagedDataAccess.Client.OracleConnection con = new Oracle.ManagedDataAccess.Client.OracleConnection();
con.ConnectionString = "Data Source=v3;User Id=xxx;Password=xxx;";
con.Open();
MessageBox.Show("Done");
con.Close();

不足している設定はありますか? manaed ODP(64ビット)に付属のconfigure.batで試してみました

4

2 に答える 2

1

理由は単純です。管理されているドライバーは、TNSNAMES.ORA の場所を認識していません。オラクルは、環境変数に依存すると言っています。ここで行うことは、TNS_ADMIN 環境変数を TNSNAMES を含むフォルダーに設定することであり、すべてが完全に機能します。これは、ステーションに TNSNAMES.ora の複数のインスタンスを持たないようにするための最良のソリューションです...

于 2015-03-27T18:23:01.680 に答える
-1

tnsnames.ora ファイルを bin フォルダーにコピーすることで、これを機能させました。管理対象ドライバーが正しい tnsname.ora ファイルを見つけられなかったようです。

于 2014-11-18T16:58:32.300 に答える