私は自分のコードでこの単純な接続を書きました:
OracleConnection con = new OracleConnection("Data Source=ORCL;User
ID=agapus;Password=agap");
con.Open();
次に、F5キーを押してアプリケーションを実行すると、上記のエラーが発生します。このエラーは、単純なコンソールアプリであるかASP.NETWebサイトであるかに関係なく発生します。Oracle.DataAccessと古いWindowsOracleAPIの両方を試しました。私はいくつかのOracleサービスを試しましたが、すべて運がありませんでした。この接続をテストしている環境は、WindowsServer2008R2です。SQLPlusまたはTOADを使用して任意のデータベースに簡単に接続できます。TNS_NAMES.ORAファイルの場所を明示的に指定しようとしましたが、どちらも機能しません。動作するのは、接続文字列でフルパスを指定する場合だけです。したがって、上記のコードを以下のコードに変更すると、機能します。
string conString = "user id=agapus;password=agap;data source=(DESCRIPTION=(ADDRESS=
(PROTOCOL=tcp)(HOST=172.16.0.121)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)))";
ID=agapus;Password=agap");
OracleConnection con = new OracleConnection(conString);
con.Open();