日本語PDF

ConnectionString

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

宣言

// C#
public override string ConnectionString{get; set;}

プロパティ値

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

実装

IDbConnection

例外

ArgumentException - 無効な構文が接続文字列に指定されました。

InvalidOperationException - ConnectionStringが接続がオープン中に設定されました。

備考

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

ConnectionStringは、セミコロンで区切られた属性名と値のペアにする必要があります。次に例を示します。

"User Id=scott;password=tiger;data source=oracle"

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

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

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

ODP.NET 11.1で開始する場合、パスワードおよびプロキシ・パスワードの接続文字列属性の値は大/小文字が区別されます。そのため、接続文字列に指定された大文字または小文字が認証用としてデータベースに渡されます。したがって、データベースが大/小文字が区別されているパスワードをサポートするよう構成されている場合、パスワードは正しい大/小文字で渡される必要があります。

接続文字列属性が2回以上設定されている場合、最新の設定が実行され、例外はスローされません。

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

備考(.NETストアド・プロシージャ)

暗黙的なデータベース接続を表すOracleConnectionオブジェクトを.NETストアド・プロシージャで取得するには、OracleConnectionオブジェクトのConnectionStringプロパティを"context connection=true"に設定し、Openメソッドを起動します。"context connection"がtrueに設定されている場合、その他の接続文字列属性を一緒に使用することはできません。

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

表6-47には、サポートされている接続文字列属性をリストします。

表6-47 サポートされている接続文字列属性

接続文字列属性 説明 デフォルト値

Application Continuity

データベース・セッションが切断され、リカバリ可能なエラーになった場合に、トランザクションおよび非トランザクション操作を、データベース・リクエストで自動的に非破壊的かつ迅速にリプレイできます。

ODP.NET管理対象ドライバおよびODP.NET Coreでは使用できません

true

Connection Lifetime

接続の最小存続時間(秒)。

この属性は、接続の存続期間を秒単位で指定します。ConnectionClose()またはDispose()コールによってプールに戻される前に、接続の存続期間がチェックされます。接続の存続期間がこのプロパティ値を超える場合、接続は破棄されます。このプロパティ値が0の場合、接続存続期間は1度もチェックされません。

0

Connection Timeout

接続タイムアウト・エラーが発生する前に、新しい接続または接続プールからのアイドル接続を待機する時間(秒)。

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

この属性値はプールされた接続要求に対して有効となりますが、新規接続要求に対しては有効にはなりません。

(.NETストアド・プロシージャにおける暗黙的なデータベース接続のデフォルト値は0です。)

15

Context Connection

trueに設定した場合、暗黙的なデータベース接続が戻されます。

暗黙的なデータベース接続は、.NETストアド・プロシージャ内からのみ取得できます。context connectiontrueに設定されている場合、その他の接続文字列属性を一緒に使用することはできません。

.NETストアド・プロシージャでのみサポートされています。

false

Data Source

接続するデータベースを識別するOracle Netサービス名、接続記述子または簡易接続ネーミング。

空の文字列

DBA Privilege

管理者権限SYSDBAまたはSYSOPER

この接続文字列属性は、属性値としてSYSDBAまたはSYSOPERのみを受け入れます。大/小文字を区別します。

空の文字列

Decr Pool Size

未使用の確立済接続量が過剰となり、クローズされる接続数。

この接続文字列の属性は、プール・レギュレータが定期的なチェックを行う場合、クローズされる未使用の最大接続数を制御します。このレギュレータ・スレッドは3分ごとに生成され、プールされた接続が使用されていない場合、その接続のDecr Pool Size量に達するまでクローズします。プール・レギュレータは、プールされた接続をクローズすることによりMin Pool Size未満の接続の合計数を取りません。

1

Enlist

COM+トランザクションまたはSystem.Transactionsのコンテキストでの接続の登録動作と機能を制御します。

この属性がtrueに設定されている場合、接続は自動的にスレッドのトランザクション・コンテキストに登録されます。この属性がfalseの場合、登録は行われません。この属性がdynamicに設定されている場合は、アプリケーションで分散トランザクションに動的に登録できます。この属性は、truefalseyesnoまたはdynamicのいずれかに設定できます。

true

HA Events

ODP.NET接続プールを使用して、Oracleデータベース・サービス、サービス・メンバーまたはノードの停止時に、プールから接続を事前に削除できます。

この機能は、Oracle RAC、Data Guard、GoldenGateおよび単一インスタンスへのデプロイを含め、Global Data Servicesで使用できます。"pooling=true"も設定する必要があります。

この属性は、truefalseyesまたはnoのいずれかに設定できます。

true

Load Balancing

ODP.NET接続プールを使用して、ロード・バランシング・アドバイザリおよびサービスの目的に基づき、Oracleデータベース・インスタンス間の作業要求のバランスを調整できます。

この機能は、Oracle RAC、Active Data Guard、GoldenGateを含め、Global Data Servicesで使用できます。"pooling=true"も設定する必要があります。

この属性は、truefalseyesまたはnoのいずれかに設定できます。

true

Incr Pool Size

プール内のすべての接続が使用された場合に作成される新しい接続の数。

この接続文字列属性は、プールされた接続が要求されたときに確立される新規接続の数を決定しますが、未使用の接続は使用不可であり、Max Pool Sizeに達しません。新規接続がプールに作成された場合、レギュレータ・スレッドはサイクルをスキップし、すべての接続は6分間クローズされません。ただし、接続の存続期間を超過している場合は、この間に一部の接続がまだクローズ可能なことに注意してください。

5

Max Pool Size

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

この属性は、OracleConnectionにより使用された特定のプール内に許可された接続の最大数を指定します。接続文字列でこの属性を変更するだけでは、現在すでに存在するプールのMax Pool Size制限は変更されません。このようにして、異なるMax Pool Size制限で新規プールが容易に作成できます。この属性は、Min Pool Sizeより大きな値に設定する必要があります。この値は、Poolingが稼働していない場合、無視されます。

100

Metadata Pooling

メタデータ情報をキャッシュします。

この属性は、実行した問合せのメタデータ情報をパフォーマンス向上のためにキャッシュするかどうかを示します。

True

Min Pool Size

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

この属性は、プールのすべての存続期間中、プールにより保持される接続の最少数を指定します。接続文字列でこの属性を変更するだけでは、現在すでに存在するプールのMin Pool Size制限は変更されません。このようにして、異なるMin Pool Size制限で新規プールが容易に作成できます。この値は、Poolingが稼働していない場合、無視されます。

1

Password

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

この属性はOracleユーザーのパスワードを指定します。Oracle Database 11gリリース1(11.1)以降では、デフォルトではPasswordは大/小文字を区別します。

空の文字列

Persist Security Info

接続文字列でのパスワード検索。

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

false

Pooling

接続プーリング。

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

true

Promotable Transaction

Promotableが分散トランザクションかどうか。

"promotable"が指定されている場合、同じTransactionScopeでオープンされると最初と後続の接続は、同じ分散トランザクション内で登録されます。"local"が指定されている場合、TransactionScopeでオープンした最初の接続ではローカル・トランザクションが使用されます。

promotable

Proxy User Id

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

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

プロキシ・ユーザーがオペレーティング・システム認証を使用してOracle Databaseに接続するには、Proxy User Idを「/」に設定する必要があります。Proxy Passwordは、この場合無視されます。User Idは、プロキシ接続を確立している場合、「/」に設定できません。この場合の属性値は保持されます。

空の文字列

Proxy Password

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

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

二重引用符によりこの属性値が囲まれている場合、この場合の属性値は保持されます。

空の文字列

Statement Cache Purge

接続がプールに戻るときの文キャッシュの消去。

文キャッシングが有効な場合、この属性をtrueに設定すると、接続がプールに戻される際に文キャッシュがパージされます。

false

Statement Cache Size

文キャッシュを有効にして、キャッシュ・サイズ、つまりキャッシュ可能な文の最大数のサイズを設定します。

文キャッシングはゼロより大きい値で可能で、キャッシュ・サイズはその値に設定されます。この値は、init.oraデータベース・コンフィギュレーション・ファイルにあるOPEN_CURSORSパラメータ・セットの値以下にする必要があります。

0

Self Tuning

接続の自動チューニングを有効化または無効化します。

自動チューニングが有効な場合、レジストリ、構成ファイルおよび接続文字列のStatementCacheSize設定は無視されます。

自動チューニングが無効な場合、レジストリ、構成ファイルまたは接続文字列でStatementCachSizeが指定されていないかぎり、StatementCacheSize値として0が使用されます。

true

User Id

Oracleユーザー名。

この属性は、Oracleユーザー名を指定します。二重引用符によりこの属性値が囲まれている場合、この場合の属性値は保持されます。ユーザーがオペレーティング・システム認証を使用してOracle Databaseに接続するには、User Idを「/」に設定する必要があります。すべてのPassword属性の設定は、この場合無視されます。

空の文字列

Validate Connection

プールから発生した接続の検証。

検証により、各接続に対してデータベースにラウンドトリップが発生します。このため、必要な場合のみ使用してください。

false