OracleInfoMessageEventArgsクラス

OracleInfoMessageEventArgsクラスは、OracleConnection.InfoMessageイベントのイベント・データを提供します。データベースに警告が発生すると、OracleConnection.InfoMessageイベントが、イベント・データが格納されているOracleInfoMessageEventArgsオブジェクトとともにトリガーされます。

クラスの継承

System.Object

  System.EventArgs

    Oracle.DataAccess.Client.OracleInfoMessageEventArgs

宣言

// C#
public sealed class OracleInfoMessageEventArgs

要件

プロバイダ ODP.NET管理対象外ドライバ ODP.NET管理対象ドライバ ODP.NET Core

アセンブリ

Oracle.DataAccess.dll

Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.dll

ネームスペース

Oracle.DataAccess.Client

Oracle.ManagedDataAccess.Client

Oracle.ManagedDataAccess.Client

.NET Framework

4.5, 4.6, 4.7, 4.8

4.5, 4.6, 4.7, 4.8

4.6.1以降

.NET Core

-

-

2.1以降

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

// C#
 
using System;
using System.Data;
using Oracle.DataAccess.Client; 
using Oracle.DataAccess.Types;
 
 
class InfoMessageSample
{
  public static void WarningHandler(object src, 
    OracleInfoMessageEventArgs args)
  {
      Console.WriteLine("Source object is: " + src.GetType().Name);
      Console.WriteLine("InfoMessageArgs.Message is " + args.Message);
      Console.WriteLine("InfoMessageArgs.Source is " + args.Source);
  }
  static void Main()
  {
    OracleConnection con = new OracleConnection("User Id=scott;" + 
      "Password=tiger;Data Source=oracle;");
 
    con.Open();
 
    OracleCommand cmd = con.CreateCommand();
 
    //Register to the InfoMessageHandler
    cmd.Connection.InfoMessage += 
      new OracleInfoMessageEventHandler(WarningHandler);
 
    cmd.CommandText = 
      "create or replace procedure SelectWithNoInto( " +
      "  empname in VARCHAR2) AS " +
      "BEGIN " +
      "  select * from emp where ename = empname; " +
      "END SelectWithNoInto;";
 
    // Execute the statement that produces a warning
    cmd.ExecuteNonQuery();
 
    // Clean up
    cmd.Dispose();
    con.Dispose();
  }
}