 |
Data Provider for .NET Guide (v11) |
 |
|
接続の追加
Visual Studio では、いくつかの方法で接続を追加することができます。
サーバー エクスプローラーでの接続の追加
接続を追加するには
- [データ接続]ノードを右クリックします。
![サーバー エクスプローラーの[データ接続]ノードが選択されています。](images/svrexpl1.gif)
- [接続の追加]をクリックします。[接続の追加]ウィンドウが表示されます。
![[データ ソース]フィールドには、編集不可能なテキストで "Pervasive PSQL data provider (Pervasive.Data.SqlClient)" が表示されます。[Standard Connection]ボックスの[Port]フィールドには、値 1583 が入っています。](images/addconn1.gif)
- [データ ソース]フィールドに Pervasive PSQL データ プロバイダーが表示されている場合は、手順 6 へ進みます。そうでない場合は、[変更]ボタンをクリックします。
- [データ ソースの変更]ウィンドウが表示されます。
![[データ ソース]リスト ボックスで Pervasive PSQL Database が選択されています。[データ プロバイダー]ドロップダウン リストから ADO.NET Pervasive PSQL データ プロバイダーを選択します。](images/chooseds1.gif)
- [データ ソースの変更]ウィンドウで、次の手順を実行します。
- [データ ソース]リスト ボックスで "Pervasive PSQL Database" を選択します。
- [データ プロバイダー]ドロップダウン リストで "ADO.NET Pervasive PSQL Provider" を選択します。
- ほかの接続でもこれらの選択を使用したい場合は、[常にこれを選択する]チェック ボックスをオンにします。
- [OK]をクリックして[接続の追加]ウィンドウに戻ります。
- [接続の追加]ウィンドウで、次の手順を実行します。
- ホスト名(Host)を入力します。
- ユーザー ID(User ID)とパスワード(Password)を入力します。これらの値は認証で必要となります。
- (任意)サーバー エクスプローラーで定義した接続インスタンスの存続期間中パスワードを保存したい場合は、[Save my password]チェック ボックスをオンにします。
- (省略可能)[データベース]入力フィールドで、接続するデータベースの名前を入力します。
- さらにプロバイダー固有のプロパティ値を指定する場合は、[詳細設定]ボタンをクリックします。
![[詳細プロパティ]ウィンドウ](images/advprops5.gif)
- [詳細プロパティ]ダイアログ ボックスの値を変更するには、対象フィールドで新しい値を選択するか、値を入力して Enter キーを押します。この値が接続文字列に追加され、プロパティの説明の下にあるフィールドに表示されます。デフォルトの値を受け入れる場合は、接続文字列フィールドを変更せずそのままにしておきます。必要な変更を加えたら、[OK]をクリックして[接続の追加]ウィンドウに戻ります。
Advanced(詳細)
- Encoding:データベースに格納されている文字列データの翻訳に使用する、ANSI 名または Windows コード ページを入力します。デフォルトでは、Windows コード ページが使用されます。
- Initial Command Timeout:データ プロバイダーが実行の試行を終了してエラーを生成するまでのデフォルトの待機時間(秒単位のタイムアウト)を指定します。このオプションは、アプリケーションのコードに変更を加えることなく、PsqlCommand オブジェクトの CommandTimeout プロパティと同じ機能を提供します。その後、アプリケーションは CommandTimeout プロパティを使用して Initial Command Timeout 接続文字列オプションを上書きすることができます。
- デフォルトの初期値は 30 秒です。
- メモ:CommandTimeout オプションの初期値に、サーバーのデッドロック 検出およびタイムアウトの最大値より大きい値を設定します。これによって、アプリケーションはタイムアウトした場合により意味のある応答を受け取ることができます。
- Initialization String:セッションの設定を管理するために、データベースへの接続後直ちに発行されるステートメントを入力します。
- 例:NULL で埋められた CHAR 列を処理するには、次のように値を設定します。
Initialization String=SET ANSI PADDING ON
- メモ:何らかの理由でステートメントが失敗した場合、サーバーへの接続は失敗します。データ プロバイダーは、サーバーから返されたエラーを含む例外をスローします。
- Parameter Mode:ネイティブ パラメーター マーカーおよびバインディングの動作を選択します。これにより、アプリケーションはプロバイダー固有の SQL コードを再利用でき、Pervasive PSQL データ プロバイダーへの移行を容易にすることができます。このオプションは ADO.NET Entity Framework データ プロバイダーには適用されないので、注意してください。
- ANSI(デフォルト)に設定すると、? 文字はパラメーター マーカーとして処理され、序数としてバインドされます。
- BindByOrdinal に設定した場合、ネイティブ パラメーター マーカーが使用され、序数としてバインドされます。
- BindByName に設定した場合、ネイティブ パラメーター マーカーが使用され、名前としてバインドされます。
- PVTranslate:クライアントが、適合するエンコードをサーバーとネゴシエイトするかどうかを選択します。
- Auto に設定した場合、データ プロバイダーはサーバーのコードページを取得して、データをサーバーのコードページに変換します。
- Nothing(デフォルトの初期値)に設定すると変換は起こりません。
- Timestamp:Pervasive のタイムスタンプを文字列として格納および取得するかどうかを選択します。
- DataTime(デフォルトの初期値)に設定すると、データ プロバイダーはタイムスタンプを DateTime にマップします。この設定はネイティブな精度が必要な場合、たとえば、タイムスタンプを含む CommandBuilder を使用する場合に適しています。
- String に設定すると、データ プロバイダーは Pervasive タイムスタンプを文字列としてマップします。
- TimeType:Pervasive の Time を ADO.NET データ プロバイダーの Timespan または DateTime として取得するかどうかを指定します。
- DateTime に設定すると、データ プロバイダーは SQL の TIME 型を .NET の System.DateTime 型にマップします。
- TimeSpan に設定すると、データ プロバイダーは SQL の TIME 型を .NET の System.DateTimeSpan 型にマップします。
Connection Pooling(接続プール)
- Connection Reset:アプリケーションで再使用するための接続プールから接続を削除する場合、その状態を接続の初期設定状態にリセットするかどうかを選択します。
- False(デフォルトの初期値)に設定すると、データ プロバイダーは接続の状態をリセットしません。
- Connection Pool Behavior:再使用するための接続プールからどのような順序で接続を削除するのかを、接続の使用頻度または使用時期に基づいて選択します。
- MostRecentlyUsed に設定すると、データ プロバイダーは後入れ先出し法(LIFO)を用いて、最近プールに戻された接続を返します。
- LeastRecentlyUsed に設定すると、データ プロバイダーは先入れ先出し法(FIFO)を用いて、最も使用回数の低い接続を返します。この値は、プール内の接続をバランスよく使用できるようにします。
- MostFrequentlyUsed に設定すると、データ プロバイダーは最も使用回数の高い接続を返します。この値は、アプリケーションが一番よく使い込んだ接続を優先的に扱うことができるようにします。
- LeastFrequentlyUsed に設定すると、データ プロバイダーは最も使用回数の低い接続を返します。この値は、プール内の接続をバランスよく使用できるようにします。
- Connection Timeout:サーバーへの接続の試行が失敗した後、接続されないでいる間の秒数を入力します。接続フェイルオーバーが有効になっている場合、このオプションは接続の試行ごとに適用されます。
- 0 に設定すると、データ プロバイダーが接続の試行でタイムアウトすることはありません。
- デフォルトの初期値は 15 秒です。
- Load Balance Timeout:接続プールで接続を保持する秒数を入力します。接続プール マネージャーは定期的にすべてのプールをチェックし、この値を超過した接続を閉じたり排除します。Min Pool Size オプションの指定によって、一部の接続は Load Balance Timeout に指定された値を無視することができます。
- 値は、0 から 65535 までの任意の整数を指定できます。
- 0(デフォルトの初期値)に設定すると、接続のタイムアウトは上限値になります。
- 接続の存続時間については、プールからの接続の削除を参照してください。
- Max Pool Size:1 つのプール内の最大接続数を入力します。最大数に達したら、それ以上の接続を接続プールに追加することはできません。
- 値は、1 から 65535 までの任意の整数を指定できます。
- デフォルトの初期値は 100 です。
- Max Pool Size Behavior:接続プール内のすべての接続が使用中である場合に、データ プロバイダーが Max Pool Size オプションで指定された接続数を超えられるようにするかどうかを選択します。
- SoftCap に設定すると、すべての接続が使用中であるときにもう 1 つ接続が要求された場合、たとえ接続プールが MaxPool Size オプションで設定された数を超えるとしても、新しい接続が作成されます。プールに接続が返されたとき、そのプールがアイドル状態の接続でいっぱいである場合には、プール メカニズムは接続プールが Max Pool Size を決して超えないよう、破棄する接続を選択します。
- HardCap に設定すると、プールに許可されている最大接続数が使用中であるときは、新しい接続要求は Connection Timeout に達するまで、接続が使用可能になるのを待ちます。
- Min Pool Size:接続プールが作成されたとき、そのプールで開いている、もしくは置いておく接続の最小数(下限)を入力します。接続プール内の一部の接続が Load Balance Timeout 値を超えたとしても、接続プールにはこの最小数の接続が保持されます。
- 値は、0 から 65535 までの任意の整数を指定できます。
- 0(デフォルトの初期値)に設定すると、接続プールが作成されたとき、プール内に追加の接続は置かれません。
- Pooling:True(デフォルトの初期値)に設定すると、接続プールは有効になります。
Failover(フェイルオーバー)
- Alternate Servers:プライマリ データベース サーバーが使用不可能な場合、データ プロバイダーが接続を試みる代替データベース サーバーの一覧を入力します。このプロパティに値を指定すると、データ プロバイダーに対して接続フェイルオーバー機能が有効になります。
- たとえば、Alternate Servers 値を次のように指定すると、接続フェイルオーバー用に 2 つの代替サーバーが定義されます。
Alternate Servers="Host=AcctServer;Port=1584,
Host=123.456.78.90;Port=1584"
- Connection Retry Count:データ プロバイダーがプライマリ サーバーへの接続を試行し、その初期接続が失敗した後に代替サーバーへの接続を試行する回数を入力します。
- 値は、0 から 65535 までの任意の整数を指定できます。
- 0(デフォルトの初期値)に設定すると、再接続の試行回数は制限されません。
- Connection Retry Delay:初期接続の試行に失敗した後、プライマリ サーバーまたは(指定した場合には)代替サーバーへの接続を再試行するまでの試行間隔を秒数で入力します。
- デフォルトの初期値は 3 です。
- このプロパティは Connection Retry Count プロパティに 0 を設定している場合は作用しません。
- Load Balancing:データ プロバイダーがプライマリ データベース サーバーや代替データベース サーバーへの接続において、クライアント ロード バランスを使用するかどうかを、True または False を選択して決定します。
- False(デフォルトの初期値)に設定すると、データ プロバイダーはクライアント ロード バランスを使用しません。
Performance(パフォーマンス)
- Enlist:True または False を選択して、スレッドの現在のトランザクション コンテキストの作成中に、データ プロバイダーが接続への参加を自動的に試行するかどうかを指定します。
- メモ:Pervasive PSQL は分散トランザクションをサポートしないため、スレッドの現在のトランザクション コンテキストでの接続への参加試行は失敗します。
- False に設定すると、データ プロバイダーは接続への自動的な参加試行を行いません。
- True(デフォルトの初期値)に設定すると、現在のトランザクション コンテキストが存在する場合にデータ プロバイダーはエラーを返します。現在のトランザクション コンテキストが存在しない場合、データ プロバイダーは警告を発します。
- Max Statement Cache Size:この接続のステートメント キャッシュに保持できる、アプリケーションが生成するステートメントの最大数を入力します。
- この値には 0、または 1 以上の整数を指定できます。
- 0 に設定すると、ステートメント キャッシュは無効になります。
- 1 以上の整数を設定すると、その値はステートメント キャッシュに保持できるステートメント数を決定します。
- デフォルトの初期値は 10 です。
- Statement Cache Mode:接続存続期間のステートメント キャッシュ モードを選択します。詳細については、ステートメント キャッシングの使用を参照してください。
- Auto に設定すると、ステートメント キャッシュは有効になります。Command のプロパティ StatementCacheBehavior で Implicit とマークされているステートメントがキャッシュされます。これらのコマンドは明示的にマークされたコマンドより低い優先順位を持ちます。つまり、ステートメント プールが最大ステートメント数に達した場合、Cache とマークされたステートメント用の余地を作るため、Implicit とマークされたステートメントが最初に削除されます。
- ExplicitOnly(デフォルトの初期値)を設定すると、StatementCacheBehavior によって Cache とマークされたコマンドのみがキャッシュされます。これは ADO.NET Entity Framework データ プロバイダーでのみ有効な値なので、注意してください。
Schema Information(スキーマ情報)
- Schema Collection Timeout:試行したスキーマ コレクション操作が失敗した後、完了されないでいる間の秒数を入力します。
- デフォルトの初期値は 120 です。
- Schema Options:返されるデータベース メタデータを指定します。デフォルトで、データ プロバイダーは、パフォーマンスに悪影響を与えるデータベース メタデータを返さないようにしてパフォーマンスを最適化します。アプリケーションでこのようなデータベース メタデータを必要とする場合は、メタデータの名前または 16 進値を指定します。
- このオプションはパフォーマンスに影響することがあります。
- ShowColumnDefaults または 0x04 を設定すると、列のデフォルトが返されます。
- ShowParameterDefaults または 0x08 を設定すると、列のデフォルトが返されます。
- FixProcedureParamDirection または 0x10 を設定すると、プロシージャ定義が返されます。
- ShowProcedureDefinitions または 0x20 を設定すると、プロシージャ定義が返されます。
- ShowViewDefinitions または 0x40 を設定すると、ビュー定義が返されます。
- ShowAll または 0xFFFFFFFF を設定すると、すべてのデータベース メタデータが返されます。
- たとえば、プロシージャ定義の説明を返すには Options=ShowProcedureDefinitions または Schema Options=0x20 を指定します。
- 複数の除外されたメタデータを表示するには、名前をカンマ区切りのリストで指定するか、制限したい列コレクションの 16 進値の合計を指定します。
- データ プロバイダーが追加できるメタデータの名前および 16 進値については、表 27 を参照してください。
- Use Current Schema:この接続文字列オプションはサポートされていません。これを設定すると、データ プロバイダーは例外をスローします。
Security(セキュリティ)
- Encrypt:データ プロバイダーが暗号化されたネットワーク通信(ワイヤ暗号化とも呼ばれます)を使用するかどうかを選択します。
- IfNeeded(デフォルトの初期値)に設定すると、データ プロバイダーはサーバーの設定を反映します。
- Always に設定すると、データ プロバイダーは暗号化を使用します。サーバーでワイヤ暗号化が許可されない場合はエラーが返されます。
- Never に設定すると、データ プロバイダーは暗号化を使用しません。サーバーでワイヤ暗号化を要求された場合はエラーが返されます。
- Encryption:データ プロバイダーが許可する暗号化の最低レベルを選択します。これらの値の意味は使用する暗号化モジュールに応じて変わります。デフォルトの暗号化モジュールでは、値 Low、Medium、High はそれぞれ 40 ビット、56 ビット、128 ビット暗号化に対応しています。
- デフォルトの初期値は Medium(中)です。
- Password:Pervasive PSQL データベースへの接続に使用するパスワード(大文字小文字の区別なし)を入力します。パスワードは、データベースでセキュリティが有効な場合にのみ必要です。パスワードが必要な場合は、システム管理者からパスワードを入手してください。
- Persist Security Info:セキュリティで保護された情報を ConnectionString プロパティにクリア テキストで表示するかどうかを選択します。
- True に設定すると、Password 接続文字列オプションの値はクリア テキストで表示されます。
- False(デフォルトの初期値)に設定すると、データ プロバイダーはセキュリティで保護された情報をクリア テキストで表示しません。
- User ID:Pervasive PSQL データベースへの接続に使用するデフォルトの Pervasive PSQL ユーザー名を入力します。
Standard Connection(標準接続)
- Database Name:接続するデータベースの内部名を特定する文字列を入力します。
- このフィールドに値を入力した場合は、Server DSN フィールドを使用できません。
- Host:接続する Pervasive PSQL サーバーの名前または IP アドレスを入力します。
- Port:Pervasive PSQL データベースで動作しているリスナーの TCP ポート番号を入力します。
- デフォルトのポート番号は 1583 です。
- Server DSN:DEMODATA など、サーバー上のデータ ソースの名前です。
- このフィールドに値を入力した場合は、Database Name フィールドを使用できません。
Tracing(トレース)
- Enable Trace:1 以上の値を入力すると、トレースが有効になります。0(デフォルトの初期値)に設定すると、トレースは有効になりません。
- Trace File:トレース ファイルのパスと名前を入力します。指定したトレース ファイルが存在しない場合は、データ プロバイダーがファイルを作成します。デフォルトの初期値は空文字列です。
- [接続の確認]をクリックします。構成処理中のどの時点であっても、[接続の確認]をクリックして、[接続の追加]ウィンドウで指定した接続プロパティを使ってデータ ソースへ接続してみることができます。
- データ プロバイダーは接続に成功したら、その接続を停止した後、"
テスト接続に成功しました
" というメッセージを表示します。[OK]をクリックします。
- 不適当な環境であるか、または接続値が正しくないためにデータ プロバイダーが接続できない場合は、適切なエラー メッセージが表示されます。
- [OK]をクリックします。
- メモ:接続フェイルオーバー機能で使用するための代替サーバーを構成している場合には、[接続の確認]ボタンでテストされるのはプライマリ サーバーのみで、代替サーバーはテストされないということを承知しておいてください。
- [OK]または[キャンセル]をクリックします。[OK]をクリックした場合は、指定した値がデータ ソースへ接続するときのデフォルトになります。これらのデフォルト設定は、この手順を使ってデータ ソースを再構成することによって変更できます。また、これらの代わりの値を含む接続文字列を使ってデータ ソースに接続すれば、デフォルト設定を無効にすることができます。
データ ソース構成ウィザードによる接続の追加
データ ソース構成ウィザードを使用して、アプリケーションに新しい接続を追加することができます。
接続を追加するには
- Visual Studio の[データ]メニューから[新しいデータ ソースの追加]を選択します。データ ソース構成ウィザードが表示されます。
- [データベース]を選択し、[次へ]をクリックします。[データ接続の選択]ウィンドウが表示されます。

- [新しい接続]をクリックします。[接続の追加]ウィンドウが表示されます。サーバー エクスプローラーでの接続の追加の手順 2 から処理を続けます。
[サーバー名]ノードの定義
[サーバー名]ノードは、現在接続されているデータベースを示す最上位レベルのノードについて説明します。ノードの名前は F2 キーを押して変更できます。ただし、デフォルトで、次のスキーマに従って名前を表示する必要があります。
ソリューション エクスプローラーで[サーバー名]ノードを選択すると、プロパティ パネルが表示されます。
プロパティにデフォルト値がある場合、またはデフォルト以外の値を明示的に設定した場合は、プロパティとその値がプロパティ パネルに表示されます。
たとえば、前の図で Database Name プロパティが DEMODATA と定義されていると、その値が表示されます。一方、AlternateServers プロパティのデフォルト値は変更されなかったので、AlternateServers はプロパティ パネルに表示されません。
 Visual Studio でのデータ プロバイダーの使用 |
 Pervasive Performance Tuning Wizard の使用 |
|