Oracleへのデータベースアクセスには、「Oracle.ManagedDataAccess」ODP.NETドライバを使用します。
接続文字列を使用してデータベースに接続する場合:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=10.40.40.38)(Port=1521)))(CONNECT_DATA=(SERVICE_NAME=D3T))); User Id=test; Password=test'
内部エラーメッセージ:
OracleInternal.NotificationServices.ONSException **:ONS:接続を開いた後、ノードリストが構成されていません。
コード:
string connect = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=10.40.40.38)(Port=1521)))(CONNECT_DATA=(SERVICE_NAME=D3T))); User Id=test; Password=test";
OracleConnection connection = new OracleConnection(connect);
connection.Open();
データベースへの接続は正常に機能しています。しかし、構成の内部的な問題は何ですか?
このリンクは役に立ちました: https://www.databaseusers.com/article/6046913/ONS%3A+No+node+lists+were+configured
基本的に、次のようにONSを構成するか、LoadBalancingとHAEventsを無効にする必要があります。
Oracle.ManagedDataAccess.Client.OracleConfiguration.LoadBalancing = false;
Oracle.ManagedDataAccess.Client.OracleConfiguration.HAEvents = false;
ジェイコブ・ピーターソンに感謝します。
ただし、C#コードで上記の設定が見つからない場合は、以下のように構成を構成してください。 「ブロックがすでに存在する場合は設定を追加する」
<Oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="LoadBalancing" value="false" />
<setting name="HAEvents" value="false" />
</settings>
</version>
</Oracle.manageddataaccess.client>