ヘッダーをスキップ

Oracle® Data Provider for .NET開発者ガイド
リリース9.2.0.4

部品番号 B13807-01
Go To Table Of Contents
目次
Go To Index
索引

Go to previous page Go to beginning of chapter Go to next page

Oracle.DataAccess.Clientネームスペース、4/30


OracleConnectionクラス

OracleConnectionオブジェクトは、Oracleデータベースへの接続を表します。

クラスの継承

Object

  MarshalByRefObject

    Component

      OracleConnection

宣言
// C#
public sealed class OracleConnection : Component,
   IDbConnection, ICloneable
スレッド・セーフティ

インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。

// C#
//  Uses connection to create and return an OracleCommand object.
...
string ConStr = "User Id=myschema;Password=mypassword;" +
      "Data Source=oracle;";
OracleConnection con = new OracleConnection(ConStr);
con.Open();
OracleCommand cmd = con.CreateCommand();

cmd.CommandText = "insert into mytable values (99, 'foo')";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
...

要件

ネームスペース: Oracle.DataAccess.Client

アセンブリ: Oracle.DataAccess.dll

関連項目:

OracleConnectionのメンバー

OracleConnectionのメンバーを次の表に示します。

OracleConnectionのコンストラクタ

OracleConnectionのコンストラクタを表4-19に示します。

表4-19 OracleConnectionのコンストラクタ
コンストラクタ 説明

OracleConnectionのコンストラクタ

OracleConnectionクラスの新規インスタンスをインスタンス化します(オーバーロード)。

OracleConnectionのstaticメソッド

OracleConnectionのstaticメソッドを表4-20に示します。

表4-20 OracleConnectionのstaticメソッド 
メソッド 説明

Equals

Objectから継承されます(オーバーロード)。

OracleConnectionのプロパティ

OracleConnectionのプロパティを表4-21に示します。

表4-21 OracleConnectionのプロパティ 
名前 説明

ConnectionString

Oracleデータベースへの接続に使用する接続情報を指定します。

ConnectionTimeout

Open()メソッドが、要求を終了するまでに、プールされた接続の取得にかけられる最長時間を指定します。

Container

Componentから継承されます。

DataSource

Oracleのデータベース・インスタンスを識別するOracle Netサービス名(TNS別名とも呼ばれる)を指定します。

ServerVersion

OracleConnectionが接続を確立したOracleデータベースのリリース番号を指定します。

Site

Componentから継承されます。

State

接続の現在の状態を指定します。

OracleConnectionのpublicメソッド

OracleConnectionのpublicメソッドを表4-22に示します。

表4-22 OracleConnectionのpublicメソッド 
publicメソッド 説明

BeginTransaction

ローカル・トランザクションを開始します(オーバーロード)。

ChangeDatabase

サポートされていません。

Clone

OracleConnectionオブジェクトのコピーを作成します。

Close

データベース接続をクローズします。

CreateCommand

OracleConnectionオブジェクトと関連付けられたOracleCommandオブジェクトを作成し、返します。

CreateObjRef

MarshalByRefObjectから継承されます。

Dispose

Componentから継承されます。

Equals

Objectから継承されます(オーバーロード)。

GetHashCode

Objectから継承されます。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetSessionInfo

セッションのグローバリゼーション設定を表すOracleGlobalizationオブジェクトのプロパティ値を返すか、リフレッシュします(オーバーロード)。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

Open

ConnectionStringで指定されたプロパティ設定を使用して、データベース接続をオープンします。

OpenWithNewPassword

新しいパスワードを使用して新規の接続をオープンします。

SetSessionInfo

OracleGlobalizationオブジェクトで指定されたプロパティ値を使用して、セッションのグローバリゼーション設定を変更します。

ToString

Objectから継承されます。

OracleConnectionのイベント

OracleConnectionのイベントを表4-23に示します。

表4-23 OracleConnectionのイベント 
イベント名 説明

Disposed

Componentから継承されます。

Failover

Oracleフェイルオーバーが発生するとトリガーされるイベント。

InfoMessage

データベースによって送信されるメッセージまたは警告に対してトリガーされるイベント。

StateChange

接続状態が変化するとトリガーされるイベント。

OracleConnectionのイベント・デリゲート

OracleConnectionのイベント・デリゲートを表4-24に示します。

表4-24 OracleConnectionのイベント・デリゲート  
イベント・デリゲート名 説明

OracleFailoverEventHandler

Failoverイベントを処理するイベント・デリゲート

OracleInfoMessageEventHandler

InfoMessageイベントを処理するイベント・デリゲート

StateChangeEventHandler

StateChangeイベントを処理するイベント・デリゲート

関連項目:

OracleConnectionのコンストラクタ

OracleConnectionのコンストラクタは、OracleConnectionクラスの新規インスタンスをインスタンス化します。

オーバーロード一覧:

OracleConnection()

このコンストラクタは、デフォルトのプロパティ値を使用して、OracleConnectionクラスの新規インスタンスをインスタンス化します。

宣言
// C#
public OracleConnection();
備考

OracleConnectionのプロパティは、次のデフォルト値に設定されます。

OracleConnection(String)

このコンストラクタは、指定された接続文字列を使用して、OracleConnectionクラスの新規インスタンスをインスタンス化します。

宣言
// C#
public OracleConnection(String connectionString);
パラメータ
備考

ConnectionStringプロパティは、指定されたconnectionStringに設定されます。ConnectionStringプロパティが解析され、無効な接続文字列属性または属性値が含まれている場合は例外がスローされます。

OracleConnectionオブジェクトのプロパティは、接続文字列で設定された場合を除き、デフォルトで次の値に設定されます。

OracleConnectionのstaticメソッド

OracleConnectionのstaticメソッドを表4-25に示します。

表4-25 OracleConnectionのstaticメソッド 
メソッド 説明

Equals

Objectから継承されます(オーバーロード)。

関連項目:

OracleConnectionのプロパティ

OracleConnectionのプロパティを表4-26に示します。

表4-26 OracleConnectionのプロパティ 
名前 説明

ConnectionString

Oracleデータベースへの接続に使用する接続情報を指定します。

ConnectionTimeout

Open()メソッドが、要求を終了するまでに、プールされた接続の取得にかけられる最長時間を指定します。

Container

Componentから継承されます。

DataSource

Oracleのデータベース・インスタンスを識別するOracle Netサービス名(TNS別名とも呼ばれる)を指定します。

ServerVersion

OracleConnectionが接続を確立したOracleデータベースのリリース番号を指定します。

Site

Componentから継承されます。

State

接続の現在の状態を指定します。

関連項目:

ConnectionString

このプロパティは、Oracleデータベースへの接続に使用する接続情報を指定します。

宣言
// C#
public string ConnectionString{get; set;}
プロパティ値

接続文字列がコンストラクタを介して提供されている場合、このプロパティはその文字列に設定されます。

実装

IDbConnection

例外

ArgumentException: 無効な構文が接続文字列に指定されています。

InvalidOperationException: 接続がオープンされているときにConnectionStringが設定されています。

備考

デフォルト値は空の文字列です。

ConnectionStringは、次の例のように、属性名と値のペアをセミコロンで区切った文字列である必要があります。

// C#
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=MYSCHEMA;Password=MYPASSWORD;" +
   "Data Source=Oracle";

ConnectionStringが適切な形式でない場合は、例外がスローされます。スペースは、二重引用符で囲まれている場合以外はすべて無視されます。

ConnectionStringプロパティが設定されると、OracleConnectionオブジェクトはすぐにエラーがないか文字列を解析します。ConnectionStringに無効な属性または無効な値が含まれている場合は、ArgumentExceptionがスローされます。User IdPasswordProxy User IdProxy PasswordおよびData Source(指定されている場合)の属性値は、Openメソッドがコールされるまで検証されません。

接続は、ConnectionStringプロパティを設定するためにクローズする必要があります。ConnectionStringプロパティがリセットされると、新しい値が適用される前に、以前に設定されたすべての値がデフォルト値に再初期化されます。

Oracleデータベースでは、ユーザー名の大/小文字を区別できます。MySchemaなど、大/小文字が混在した名前のユーザーとして接続するには、User Id属性の値を次のように二重引用符で囲む必要があります。

// C#
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=\"MySchema\";Password=MYPASSWORD;" +
    "Data Source=Oracle";

ただし、Oracleのユーザー名がすべての大文字の場合、二重引用符のないUser Idは接続時にすべて大文字に変換されるので、二重引用符を使用せずにUser Id接続文字列属性をそのユーザー名に設定できます。一重引用符はサポートされていません。

関連項目:

完全な例は「例」を参照

接続文字列属性を2回以上設定した場合、最後の設定が有効になり、例外はスローされません。

ブール接続文字列属性は、truefalseyesまたはnoのいずれかに設定されます。

サポートされる接続文字列属性:

表4-27に、サポートされている接続文字列属性を示します。

表4-27 サポートされている接続文字列属性 
接続文字列属性 デフォルト値 説明

Connection Lifetime

0

接続の最長存続期間(秒)。

この属性は、接続の存続期間を秒単位で指定します。Connectionがプールに返される前に、接続の存続時間がチェックされます。接続の存続期間がこのプロパティ値を超えると、接続はクローズされ、破棄されます。このプロパティ値が0の場合、接続の存続期間はチェックされません。接続が存続時間を超えても、プール内の接続数がMin Pool Sizeより少なくなる場合は、クローズされて破棄されることはありません。

Connection Timeout

15

プールから空いた接続を取得するまで待機する最長時間(秒)。

この属性は、Open()メソッドが、要求を終了するまでに、プールされた接続の取得にかけられる最長時間を秒単位で指定します。接続プールから使用可能な空き接続がなく、Max Pool Sizeに達している場合にのみ、この値は有効になります。指定した時間内に空いている接続を使用できない場合は、例外がスローされます。Connection Timeoutは、新規の接続をオープンするために必要な時間を制限しません。

この属性値は、プールされた接続要求に影響し、新規の接続要求には関係しません。

Data Source

空の文字列

接続先のデータベースを識別するOracle Netサービス名。

この属性は、Oracleのデータベース・インスタンスを識別するOracle Netサービス名(以前のTNS別名)を指定します。リモート・データベースに接続するには、この属性を設定する必要があります。

DBA Privilege

空の文字列

管理権限SYSDBAまたはSYSOPER

この接続文字列属性の値は、SYSDBAまたはSYSOPERのいずれかです。大/小文字は区別されません。

Decr Pool Size

1

確立されているが使用されていない接続が多すぎる場合に、クローズされる接続数。

 

 

この接続文字列属性は、プール・レギュレータが定期的にチェックするときにクローズされる、使用されていない接続の最大数を制御します。レギュレータ・スレッドは3分間隔で発生し、プールされた接続が使用されていない場合は、Decr Pool Sizeまでの接続をクローズします。プール・レギュレータによってプールされた接続がクローズされても、合計接続数がMin Pool Sizeより少なくなることはありません。

Enlist

true

サービス・コンポーネントが自動的に分散トランザクションに登録されます。

この属性がtrueに設定されると、接続はスレッドのトランザクション・コンテキストに自動的に登録されます。この属性がfalseの場合は、登録されません。この属性は、truefalseyesまたはnoのいずれかに設定できます。

Incr Pool Size

5

プール内のすべての接続が使用されている場合に確立される接続数。

この接続文字列属性は、プールされた接続を要求しても利用できる未使用の接続がなく、Max Pool Sizeにまだ達していない場合に、確立される新規の接続数を決定します。新規の接続がプールに作成された場合、レギュレータ・スレッドが1回スキップされ、6分間は接続がクローズされません。ただし、存続期間を超えた場合は、この時間内でも接続がクローズされます。

Max Pool Size

100

プール内の接続の最大数。

この属性は、そのOracleConnectionで使用される特定のプールに含めることができる最大接続数を指定します。接続文字列のこの属性を変更するだけでは、現在存在しているプールのMax Pool Size制限は変更されません。この場合は、単に異なるMax Pool Size制限を持つ新規のプールが作成されます。この属性は、Min Pool Sizeより大きな値に設定する必要があります。Poolingがオンになっていない場合、この値は無視されます。

Min Pool Size

1

プール内の最小接続数。

この属性は、存続期間中にプールに保持される最小接続数を指定します。接続文字列のこの属性を変更するだけでは、現在存在しているプールのMin Pool Size制限は変更されません。この場合は、単に異なるMin Pool Size制限を持つ新規のプールが作成されます。Poolingがオンになっていない場合、この値は無視されます。

Password

空の文字列

User Idで指定されたユーザーのパスワード。

この属性は、Oracleユーザーのパスワードを指定します。パスワードは、大/小文字が区別されません。

Persist Security Info

false

接続文字列内のパスワードの取得を可能または不可にします。

この属性がfalseに設定されると、Open()メソッドによって接続が正常にオープンされた後、アプリケーションがConnectionStringを要求したときに、Password値の設定が返されません。この属性は、truefalseyesまたはnoのいずれかに設定できます。

Pooling

true

接続プーリングを有効または無効にします。

この属性は、接続プーリングを使用するかどうかを指定します。属性値一致アルゴリズムを使用して、プールが作成されます。つまり、スペースの数のみ異なる接続文字列は同じプールを使用します。一方は属性をデフォルト値に設定するのに対し、もう一方はその属性を設定しないこと以外は2つの接続文字列が同一の場合、この2つの要求は同じプールの接続を取得します。この属性は、truefalseyesまたはnoのいずれかに設定できます。

Proxy User Id

空の文字列

プロキシ・ユーザーのユーザー名。

この接続文字属性は、User Id属性によって指定されたクライアント・ユーザーのかわりに接続を確立する中間層ユーザー、またはプロキシ・ユーザーを指定します。Proxy User IdまたはProxy Passwordのいずれかの属性が空でない文字列に設定されている場合、ODP.NETはプロキシ接続を確立しようとします。

 

 

プロキシ・ユーザーがOS認証を使用してOracleデータベースに接続するには、Proxy User Idが"/"に設定されている必要があります。この場合、Proxy Passwordは無視されます。プロキシ接続が確立されている場合、User Idは"/"に設定できません。二重引用符で囲まれている場合は、この属性値の大/小文字が保持されます。

Proxy Password

空の文字列

プロキシ・ユーザーのパスワード。

この接続文字列属性は、中間層ユーザーまたはプロキシ・ユーザーのパスワードを指定します。このユーザーは、User Id属性によって指定されたクライアント・ユーザーのかわりに接続を確立します。Proxy User IdまたはProxy Passwordのいずれかの属性が空でない文字列に設定されている場合、ODP.NETはプロキシ接続を確立しようとします。

User Id

空の文字列

Oracleユーザー名。

この属性は、Oracleユーザー名を指定します。二重引用符で囲まれている場合は、この属性値の大/小文字が保持されます。ユーザーがOS認証を使用してOracleデータベースに接続するには、User Idを"/"に設定します。この場合、Password属性の設定は無視されます。

このコード例は、二重引用符で囲まれていない場合はUser Id属性値の大/小文字が保持されないことを示しています。また、接続プールがいつ作成され、接続が接続プールからいつ取得されるのかも示しています。

// C#
// Assume users "MYSCHEMA"and "MySchema" exist in the database
...
OracleConnection con1 = new OracleConnection();
con1.ConnectionString = "User Id=myschema;Password=mypassword;" +
     "Data Source=oracle;";
con1.Open();  // Attempts to connect as "MYSCHEMA/MYPASSWORD"
              // A new connection is created; A new Connection Pool X is created
con1.Dispose(); // Connection is placed back into Pool X

OracleConnection con2 = new OracleConnection();
con2.ConnectionString = "User Id=MySchema;Password=MyPassword;" +
     "Data Source=oracle;";
con2.Open(); // Attempts to connect as "MYSCHEMA/MYPASSWORD" A connection is
             // obtained from Pool X; A new connection is NOT created.
con2.Dispose(); // Connection is placed back into Pool X

OracleConnection con3 = new OracleConnection();
con3.ConnectionString = "User Id=\"MYSCHEMA\";Password=MYPASSWORD;" +
     "Data Source=oracle;";
con3.Open(); // Attempts to connect as "MYSCHEMA/MYPASSWORD" A connection is
             // obtained from Pool X; A new connection is NOT created.
con3.Dispose(); // Connection is placed back into Pool X

OracleConnection con4 = new OracleConnection();
con4.ConnectionString = "User Id=\"MySchema\";Password=mypassword;" +
     "Data Source=oracle;";
con4.Open(); // Attempts to connect as "MySchema/MYPASSWORD"
             // A new connection is created; A new Connection Pool Y is created
con4.Dispose(); // Connection is placed back into Pool Y

OracleConnection con5 = new OracleConnection();
con5.ConnectionString = "User Id=MySchema;Password=mypassword;" +
     "Data Source=oracle;    ";
con5.Open(); // Attempts to connect as "MYSCHEMA/MYPASSWORD"
             // A connection is obtained from Connection Pool X
             // Extra spaces in the connection string do not force creation
             // of a new pool
con5.Dispose(); // Connection is placed back into Pool X

OracleConnection con6 = new OracleConnection();
con6.ConnectionString = "User Id=MySchema;Password=mypassword;" +
     "Data Source=oracle;Pooling=true;";
con6.Open(); // Attempts to connect as "MYSCHEMA/MYPASSWORD"
             // A connection is obtained from Connection Pool X. "Pooling=true"
             // in the connection string does not force creation of a new pool
             // since the initial connection was established using the default
             // value of "Pooling=true".  Note that even if the connection
             // string had "POOLING=Yes", a new connection pool will not be
             // created since they both enable pooling.  The same rule applies
             // to other connection string attributes as well.
con6.Dispose(); // Connection is placed back into Pool X
...

関連項目:

ConnectionTimeout

このプロパティは、Open()メソッドが、要求を終了するまでに、プールされた接続の取得にかけられる最長時間を指定します。

宣言
// C#
public int ConnectionTimeout {get;}
プロパティ値

プールされた接続要求に割り当てられる最長時間(秒)

実装

IDbConnection

備考

デフォルト値は15です。

このプロパティを0に設定すると、プールされた接続要求が空いた接続を取得するまで待機するときの時間制限がなくなります。このタイムアウトは、プールされた接続要求にのみ影響し、新規の接続要求には関係しません。

関連項目:

DataSource

このプロパティは、Oracleのデータベース・インスタンスを識別するOracle Netサービス名(以前のTNS別名)を指定します。

宣言
// C#
public string DataSource {get;}
プロパティ値

Oracle Netサービス名

備考

このプロパティのデフォルト値は空の文字列です。

関連項目:

ServerVersion

このプロパティは、OracleConnectionが接続を確立したOracleデータベースのリリース番号を指定します。

宣言
// C#
public string ServerVersion {get;}
プロパティ値

Oracleデータベースのリリース(9.2.0.1.0.など)

例外

InvalidOperationException: 接続がクローズされています。

備考

デフォルトは空の文字列です。

関連項目:

State

このプロパティは、接続の現在の状態を指定します。

宣言
// C#
public ConnectionState State {get;}
プロパティ値

接続のConnectionState

実装

IDbConnection

備考

ODP.NET では、このプロパティにConnectionState.ClosedおよびConnectionState.Openを指定できます。デフォルト値は、ConnectionState.Closedです。

関連項目:

OracleConnectionのpublicメソッド

OracleConnectionのpublicメソッドを表4-28に示します。

表4-28 OracleConnectionのpublicメソッド 
publicメソッド 説明

BeginTransaction

ローカル・トランザクションを開始します(オーバーロード)。

ChangeDatabase

サポートされていません。

Clone

OracleConnectionオブジェクトのコピーを作成します。

Close

データベース接続をクローズします。

CreateCommand

OracleConnectionオブジェクトと関連付けられたOracleCommandオブジェクトを作成し、返します。

CreateObjRef

MarshalByRefObjectから継承されます。

Dispose

Componentから継承されます。

Equals

Objectから継承されます(オーバーロード)。

GetHashCode

Objectから継承されます。

GetLifetimeService

MarshalByRefObjectから継承されます。

GetSessionInfo

セッションのグローバリゼーション設定を表すOracleGlobalizationオブジェクトのプロパティ値を返すか、リフレッシュします(オーバーロード)。

GetType

Objectから継承されます。

InitializeLifetimeService

MarshalByRefObjectから継承されます。

Open

ConnectionStringで指定されたプロパティ設定を使用して、データベース接続をオープンします。

OpenWithNewPassword

新しいパスワードを使用して新規の接続をオープンします。

SetSessionInfo

OracleGlobalizationオブジェクトで指定されたプロパティ値を使用して、セッションのグローバリゼーション設定を変更します。

ToString

Objectから継承されます。

関連項目:

BeginTransaction

BeginTransactionメソッドは、ローカル・トランザクションを開始します。

オーバーロード一覧

BeginTransaction()

このメソッドは、ローカル・トランザクションを開始します。

宣言
// C#
public OracleTransaction BeginTransaction();
戻り値

新規トランザクションを表すOracleTransactionオブジェクト

実装

IDbConnection

例外

InvalidOperationException: トランザクションはすでに開始されています。

備考

トランザクションは、IsolationLevel.ReadCommittedのデフォルト値に設定された分離レベルを使用して作成されます。トランザクションに関係する操作をさらに行う場合は、返されたOracleTransactionオブジェクトで実行する必要があります。

関連項目:

BeginTransaction(IsolationLevel)

このメソッドは、指定された分離レベルでローカル・トランザクションを開始します。

宣言
// C#
public OracleTransaction BeginTransaction(IsolationLevel isolationLevel);
パラメータ
戻り値

新規トランザクションを表すOracleTransactionオブジェクト

実装

IDbConnection

例外

InvalidOperationException: トランザクションはすでに開始されています。

ArgumentException: 指定されたisolationLevelが無効です。

備考

次の2つの分離レベルがサポートされています。

その他の分離レベルを要求すると、例外が発生します。

// C#
// Starts a transaction and inserts one record. If insert fails, rolls back
// the transaction. Otherwise, commits the transaction.

...
string ConStr = "User Id=myschema;Password=mypassword;" +
        "Data Source=oracle;";
OracleConnection con = new OracleConnection(ConStr);
con.Open();

//Create an OracleCommand object using the connection object
OracleCommand cmd = new OracleCommand("", con);

// Start a transaction
OracleTransaction txn = con.BeginTransaction(IsolationLevel.ReadCommitted);

try
{
   cmd.CommandText = "insert into mytable values (99, 'foo')";
   cmd.CommandType = CommandType.Text;
   cmd.ExecuteNonQuery();
   txn.Commit();
   Console.WriteLine("Both records are inserted into the database table.");
}
catch(Exception e)
{
   txn.Rollback();
   Console.WriteLine("Neither record was inserted into the database table.");
}
...

関連項目:

Clone

このメソッドは、OracleConnectionオブジェクトのコピーを作成します。

宣言
// C#
public object Clone();
戻り値

OracleConnectionオブジェクト

実装

ICloneable

備考

クローニングされたオブジェクトは、クローニング元のオブジェクトと同じプロパティ値を持ちます。

// C#
...
OracleConnection con = new OracleConnection(ConStr);
con.Open();
...

//Need a proper casting for the return value when cloned
OracleConnection con_cloned = (OracleConnection) con.Clone();
...

関連項目:

Close

このメソッドは、データベースへの接続をクローズします。

宣言
// C#
public void Close();
実装

IDbConnection

備考

次のように実行されます。

Open()を使用すると、接続を再びオープンできます。

関連項目:

CreateCommand

このメソッドは、OracleConnectionオブジェクトと関連付けられたOracleCommandオブジェクトを作成し、返します。

宣言
// C#
public OracleCommand CreateCommand();
戻り値

OracleCommandオブジェクト

実装

IDbConnection

// C#
//  Uses connection to create and return an OracleCommand object.

...
string ConStr = "User Id=myschema;Password=mypassword;" +
      "Data Source=oracle;";
OracleConnection con = new OracleConnection(ConStr);
con.Open();

OracleCommand cmd = Con.CreateCommand();

cmd.CommandText = "insert into mytable values (99, 'foo')";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
...

関連項目:

GetSessionInfo

GetSessionInfoは、セッションのグローバリゼーション設定を表すOracleGlobalizationオブジェクトを返すか、リフレッシュします。

オーバーロード一覧:

GetSessionInfo()

このメソッドは、セッションのグローバリゼーション設定を表すOracleGlobalizationオブジェクトの新規インスタンスを返します。

宣言
// C#
public OracleGlobalization GetSessionInfo();
戻り値

新しく作成されたOracleGlobalizationオブジェクト

// C#
//  Retrieves the session globalization info and prints the language name.
//  Then sets new territory, language, and timestamp format into the session
//  globalization info in the connection object.

...
string ConStr = "User Id=myschema;Password=mypassword;" +
  "Data Source=oracle;";
OracleConnection con = new OracleConnection(ConStr);
con.Open();

...
//Get session info from connection object
OracleGlobalization ogi = con.GetSessionInfo();

//Print the language name
Console.WriteLine(ogi.Language);

//Update session info
oraGlob.Territory = "JAPAN";
ogi.Language = "JAPANESE";
ogi.TimeStampFormat = "HH.MI.SSXFF AM YYYY-MM-DD";

//Set session info into connection object
con.SetSessionInfo(ogi);
...

関連項目:

GetSessionInfo(OracleGlobalization)

このメソッドは、セッションのグローバリゼーション設定を使用して指定されたOracleGlobalizationオブジェクトをリフレッシュします。

宣言
// C#
public void GetSessionInfo(OracleGlobalization oraGlob);
パラメータ

Open

このメソッドは、Oracleデータベースへの接続をオープンします。

宣言
// C#
public void Open();
実装

IDbConnection

例外

ObjectDisposedException: オブジェクトがすでに破棄されています。

InvalidOperationException: 接続がすでにオープンされているか、接続文字列がnullまたは空です。

備考

接続プーリングが使用可能の場合は、接続はプールから取得されます。使用禁止の場合は、新規の接続が確立されます。

Open()メソッドがコールされた際に、プール内に未使用の接続が存在しないことがあります。この場合は、新規の接続が確立されます。

指定された接続タイムアウト値以内に使用できる接続がない場合、Max Pool Sizeに達すると、OracleExceptionがスローされます。

関連項目:

OpenWithNewPassword

このメソッドは、新しいパスワードを使用して新規の接続をオープンします。

宣言
// C#
public void OpenWithNewPassword(string newPassword);
パラメータ
備考

このメソッドは、ConnectionStringプロパティの設定を使用して、新規の接続を確立します。接続文字列の中で、古いパスワードをPassword属性値として指定する必要があります。

このメソッドは、クローズ状態のOracleConnectionでのみコールできます。

関連項目:

SetSessionInfo

このメソッドは、指定されたOracleGlobalizationオブジェクトで指定されたすべてのプロパティ値を使用して、セッションのグローバリゼーション設定を変更します。

宣言
// C#
public void SetSessionInfo(OracleGlobalization oraGlob);
パラメータ

OracleGlobalizationオブジェクト。

備考

このメソッドをコールすることは、セッションでALTER SESSION SQLをコールすることと同じです。

// C#

//  Retrieves the session globalization info and prints the language name.
//  Then sets new territory, language, and timestamp format into the session
//  globalization info in the connection object.

...
string ConStr = "User Id=myschema;Password=mypassword;" +
     "Data Source=oracle;";
OracleConnection con = new OracleConnection(ConStr);
con.Open();

//Create an OracleGlobalization object
OracleGlobalization ogi;

//Get session info using the second overloaded method
con.GetSessionInfo(ogi);

//Print the language name
Console.WriteLine(ogi.Language);

//Update session globalization info
oraGlob.Territory = "JAPAN";
ogi.Language = "JAPANESE";
ogi.TimeStampFormat = "HH.MI.SSXFF AM YYYY-MM-DD";

//Set session globalization info into connection object
con.SetSessionInfo(ogi);

関連項目:

OracleConnectionのイベント

OracleConnectionのイベントを表4-29に示します。

表4-29 OracleConnectionのイベント 
イベント名 説明

Disposed

Componentから継承されます。

Failover

Oracleフェイルオーバーが発生するとトリガーされるイベント。

InfoMessage

データベースによって送信されるメッセージまたは警告に対してトリガーされるイベント。

StateChange

接続状態が変化するとトリガーされるイベント。

関連項目:

Failover

このイベントは、Oracleフェイルオーバーが発生するとトリガーされます。

宣言
// C#
public event OracleFailoverEventHandler Failover;
イベント・データ

イベント・ハンドラは、イベントについての情報を含む次のプロパティを公開するOracleFailoverEventArgsオブジェクトを受け取ります。

InfoMessage

このイベントは、データベースによって送信されるメッセージまたは警告に対してトリガーされます。

宣言
// C#
public event OracleInfoMessageEventHandler InfoMessage;
イベント・データ

イベント・ハンドラは、イベントについての情報を含む次のプロパティを公開するOracleInfoMessageEventArgsオブジェクトを受け取ります。

備考

データベースからの警告およびメッセージに応答するには、クライアントはこのイベントをリスニングするためのOracleInfoMessageEventHandlerデリゲートを作成する必要があります。

関連項目:

StateChange

このイベントは、接続の状態が変化するとトリガーされます。

宣言
// C#
public event StateChangeEventHandler StateChange;
イベント・データ

イベント・ハンドラは、イベントについての情報を含む次のプロパティを公開するStateChangeEventArgsオブジェクトを受け取ります。

備考

OpenCloseまたはDisposeへのコールが明示的に行われると、接続の状態が変わった後にStateChangeイベントが起動されます。

関連項目:

OracleConnectionのイベント・デリゲート

OracleConnectionのイベント・デリゲートを表4-30に示します。

表4-30 OracleConnectionのイベント・デリゲート  
イベント・デリゲート名 説明

OracleFailoverEventHandler

Failoverイベントを処理するイベント・デリゲート

OracleInfoMessageEventHandler

InfoMessageイベントを処理するイベント・デリゲート

StateChangeEventHandler

StateChangeイベントを処理するイベント・デリゲート

OracleFailoverEventHandler

このイベント・デリゲートは、Failoverイベントを処理します。

関連項目:

OracleInfoMessageEventHandler

このイベント・デリゲートは、InfoMessageイベントを処理します。

関連項目:

StateChangeEventHandler

このイベント・デリゲートは、StateChangeイベントを処理します。

関連資料:


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2002, 2003 Oracle Corporation.

All Rights Reserved.
Go To Table Of Contents
目次
Go To Index
索引