プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# 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` `Id`、`Password`、`Proxy` `User` `Id`、`Proxy` `Password`、および`Data` `Source`(提供されている場合)の属性値は、`Open`メソッドがコールされるまで検証されません。

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

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

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

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

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

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

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

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

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

接続文字列属性 | 説明 | デフォルト値
--- | --- | ---
`Application Continuity` | データベース・セッションが切断され、リカバリ可能なエラーになった場合に、トランザクションおよび非トランザクション操作を、データベース・リクエストで自動的に非破壊的かつ迅速にリプレイできます。 ODP.NET管理対象ドライバでは使用できません | `true`
`Connection Lifetime` | 接続の最小存続時間(秒)。 この属性は、接続の存続期間を秒単位で指定します。`Connection`が`Close()`または`Dispose()`コールによってプールに戻される前に、接続の存続期間がチェックされます。接続の存続期間がこのプロパティ値を超える場合、接続は破棄されます。このプロパティ値が`0`の場合、接続存続期間は1度もチェックされません。 | `0`
`Connection Timeout` | プールから使用可能な接続を待機する最小時間(秒)。 この属性では、`Open()`メソッドがプールされた接続を取得するときに、その要求を終了するまでの最小時間(秒)を指定します。この値は、接続プールからの使用可能な接続がない場合、および`Max` `Pool` `Size`に達した場合にのみ有効になります。使用可能な接続が指定された時間内に使用できない場合、例外がスローされます。`Connection` `Timeout`は、新規接続のオープン時に必要とする時間を制限しません。 この属性値はプールされた接続要求に対して有効となりますが、新規接続要求に対しては有効にはなりません。 (.NETストアド・プロシージャにおける暗黙的なデータベース接続のデフォルト値は`0`です。) | `15`
`Context` `Connection` | `true`に設定した場合、暗黙的なデータベース接続が戻されます。 暗黙的なデータベース接続は、.NETストアド・プロシージャ内からのみ取得できます。`context` `connection`が`true`に設定されている場合、その他の接続文字列属性を一緒に使用することはできません。 .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`に設定されている場合は、アプリケーションで分散トランザクションに動的に登録できます。この属性は、`true`、`false`、`yes`、`no`または`dynamic`のいずれかに設定できます。 | `true`
`HA` `Events` | ODP.NET接続プールを使用して、Oracleデータベース・サービス、サービス・メンバーまたはノードの停止時に、プールから接続を事前に削除できます。 この機能は、Oracle RAC、Data Guard、GoldenGateおよび単一インスタンスへのデプロイを含め、Global Data Servicesで使用できます。"`pooling=true`"も設定する必要があります。 この属性は、`true`、`false`、`yes`または`no`のいずれかに設定できます。 | `true`
`Load` `Balancing` | ODP.NET接続プールを使用して、ロード・バランシング・アドバイザリおよびサービスの目的に基づき、Oracleデータベース・インスタンス間の作業要求のバランスを調整できます。 この機能は、Oracle RAC、Active Data Guard、GoldenGateを含め、Global Data Servicesで使用できます。"`pooling=true`"も設定する必要があります。 この属性は、`true`、`false`、`yes`または`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`を要求する場合には戻されません。この属性は、`true`、`false`、`yes`または`no`のいずれかに設定できます。 | `false`
`Pooling` | 接続プーリング。 この属性は、接続プーリングを使用する必要があるかどうかを指定します。プールは、属性値が一致するアルゴリズムを使用して作成されます。つまり、接続文字列内で単にスペースの数が異なる接続文字列は、同じプールを使用することを意味します。一方の接続文字列では属性をデフォルト値に設定し、もう一方の接続文字列でその属性を設定しないという点を除いて、2つの接続文字列が一致する場合、両方の要求とも同じプールから接続を取得します。この属性は、`true`、`false`、`yes`または`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`

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleConnectionクラス

- OracleConnectionメンバー