3

私は自分のコードでこの単純な接続を書きました:

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();     
4

1 に答える 1

0

sqlnet.oraファイルを見ると、デフォルトのドメインが.worldに設定されていることがわかると思います。

これにより、接続の正しい名前がORCL.worldになります。

また、TNSNAMES.oraの接続名の末尾に.worldがあり、デフォルトドメインには何もない場合があります。

tnspingを実行すると何が得られますか?

于 2012-12-10T12:24:26.967 に答える