Visual Studio での Zen データ プロバイダーの使用
Zen データ プロバイダーは Visual Studio への統合に対応しています。つまり、開発者は Microsoft Visual Studio のグラフィカル ユーザー インターフェイスを使用して、さまざまなタスクを実行できます。
以下のトピックでは、Zen データ プロバイダーの機能がどのようにして Visual Studio に組み込まれるかを説明します。
接続の追加
Visual Studio では、いくつかの方法で接続を追加することができます。
サーバー エクスプローラーでの接続の追加
接続を追加するには
1. サーバー エクスプローラーで[
データ接続]を右クリックし、[
接続の追加]を選択します。
![](../adonet/images/chap6_AddConnec.png)
[接続の追加]ウィンドウが表示されます。
![](../adonet/images/chap6_AddConnecWindow.png)
2. [
データ ソース]フィールドに Zen データ プロバイダーが表示されている場合は、手順
4 へ進みます。そうでない場合は、[
変更]をクリックします。
3. [データ ソースの変更]ウィンドウが表示されます。
![](../adonet/images/chap6_change_datasource.png)
a. [データ ソース]リスト ボックスで "Actian Zen Database" を選択します。
b. [データ プロバイダー]リストで "Actian Zen ADO.NET Data Provider" を選択します。
c. ほかの接続でもこれらの選択を使用したい場合は、[常にこれを選択する]チェック ボックスをオンにします。
d. [OK]をクリックして[接続の追加]ウィンドウに戻ります。
4. [接続の追加]ウィンドウで、次の手順を実行します。
a. ホスト名(Host)を入力します。
b. ユーザー ID(User ID)とパスワード(Password)を入力します。これらの値は認証で必要となります。
c. (任意)サーバー エクスプローラーで定義した接続インスタンスの存続期間中パスワードを保存したい場合は、[Save my password]チェック ボックスをオンにします。
d. (省略可能)[データベース]入力フィールドで、接続するデータベースの名前を入力します。
5. さらにプロバイダー固有のプロパティ値を指定する場合は、[
詳細設定]ボタンをクリックします。
![](../adonet/images/chap6_AdvancedProp.png)
[詳細プロパティ]ダイアログ ボックスの値を変更するには、対象フィールドで新しい値を選択するか、値を入力して Enter キーを押します。この値が接続文字列に追加され、プロパティの説明の下にあるフィールドに表示されます。デフォルトの値を受け入れる場合は、接続文字列フィールドを変更せずそのままにしておきます。必要な変更を加えたら、[OK]をクリックして[接続の追加]ウィンドウに戻ります。
Advanced(詳細)
EnableIPv6:IPv4 アドレスを使用した Zen サーバーへの接続に対応する下位互換性を提供します。
True に設定すると、IPv4 アドレスまたは IPv6 アドレスのいずれかを使用するサーバーに対し、インストール済みの IPv6 プロトコルに対応したクライアントを接続することができます。
False に設定すると、クライアントは下位互換性モードで実行します。クライアントは常に、IPv4 アドレスを使用するサーバーに接続されます。
デフォルト値は、4.0 では True に設定されます。
IPv6 形式の詳細については、『
Getting Started with Zen』の
IPv6 を参照してください。
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 コードを再利用でき、Zen データ プロバイダーへの移行を容易にすることができます。このオプションは Zen ADO.NET Entity Framework データ プロバイダーには適用されないので、注意してください。
ANSI(デフォルト)に設定すると、? 文字はパラメーター マーカーとして処理され、序数としてバインドされます。
BindByOrdinal に設定した場合、ネイティブ パラメーター マーカーが使用され、序数としてバインドされます。
BindByName に設定した場合、ネイティブ パラメーター マーカーが使用され、名前としてバインドされます。
PVTranslate:クライアントが、適合するエンコードをサーバーとネゴシエイトするかどうかを選択します。
Auto に設定すると、データ プロバイダーは Encoding 接続プロパティをデータベースのコード ページに設定します。また、SQL クエリ テキストは、データ エンコードではなく UTF-8 エンコードを使用して送信されます。これにより、クエリ テキスト内の NCHAR 文字列リテラルが保持されます。
Nothing(デフォルト)に設定すると、Encoding 接続プロパティの設定が使用されます。
Timestamp:Zen のタイムスタンプを文字列として格納および取得するかどうかを選択します。
DataTime(デフォルトの初期値)に設定すると、データ プロバイダーはタイムスタンプを DateTime にマップします。この設定はネイティブな精度が必要な場合、たとえば、タイムスタンプを含む CommandBuilder を使用する場合に適しています。
String に設定すると、データ プロバイダーは Zen タイムスタンプを文字列としてマップします。
TimeType:Zen の Time を Zen 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 を選択して、スレッドの現在のトランザクション コンテキストの作成中に、データ プロバイダーが接続への参加を自動的に試行するかどうかを指定します。
メモ:Zen は分散トランザクションをサポートしないため、スレッドの現在のトランザクション コンテキストでの接続への参加試行は失敗します。
False(デフォルトの初期値)に設定すると、データ プロバイダーは接続への自動的な参加試行を行いません。
True に設定すると、現在のトランザクション コンテキストが存在する場合にデータ プロバイダーはエラーを返します。現在のトランザクション コンテキストが存在しない場合、データ プロバイダーは警告を発します。
Max Statement Cache Size:この接続のステートメント キャッシュに保持できる、アプリケーションが生成するステートメントの最大数を入力します。
この値には 0、または 1 以上の整数を指定できます。
0 に設定すると、ステートメント キャッシュは無効になります。
1 以上の整数を設定すると、その値はステートメント キャッシュに保持できるステートメント数を決定します。
デフォルトの初期値は 10 です。
Statement Cache Mode:接続存続期間のステートメント キャッシュ モードを選択します。詳細については、
ステートメント キャッシングの使用を参照してください。
Auto に設定すると、ステートメント キャッシュは有効になります。Command のプロパティ StatementCacheBehavior で Implicit とマークされているステートメントがキャッシュされます。これらのコマンドは明示的にマークされたコマンドより低い優先順位を持ちます。つまり、ステートメント プールが最大ステートメント数に達した場合、Cache とマークされたステートメント用の余地を作るため、Implicit とマークされたステートメントが最初に削除されます。
ExplicitOnly(デフォルトの初期値)を設定すると、StatementCacheBehavior によって Cache とマークされたコマンドのみがキャッシュされます。これは Zen 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 進値については、
接続文字列プロパティを参照してください。
Use Current Schema:この接続文字列オプションはサポートされていません。これを設定すると、データ プロバイダーは例外をスローします。
Security(セキュリティ)
Encrypt:データ プロバイダーが暗号化されたネットワーク通信(ワイヤ暗号化とも呼ばれます)を使用するかどうかを選択します。
IfNeeded(デフォルトの初期値)に設定すると、データ プロバイダーはサーバーの設定を反映します。
Always に設定すると、データ プロバイダーは暗号化を使用します。サーバーでワイヤ暗号化が許可されない場合はエラーが返されます。
Never に設定すると、データ プロバイダーは暗号化を使用しません。サーバーでワイヤ暗号化を要求された場合はエラーが返されます。
Encryption:データ プロバイダーが許可する暗号化の最低レベルを選択します。これらの値の意味は使用する暗号化モジュールに応じて変わります。デフォルトの暗号化モジュールでは、値 Low、Medium、High はそれぞれ 40 ビット、56 ビット、128 ビット暗号化に対応しています。
デフォルトの初期値は Medium(中)です。
Password:Zen データベースへの接続に使用するパスワード(大文字小文字の区別なし)を入力します。パスワードは、データベースでセキュリティが有効な場合にのみ必要です。パスワードが必要な場合は、システム管理者からパスワードを入手してください。
Persist Security Info:セキュリティで保護された情報を ConnectionString プロパティにクリア テキストで表示するかどうかを選択します。
True に設定すると、Password 接続文字列オプションの値はクリア テキストで表示されます。
False(デフォルトの初期値)に設定すると、データ プロバイダーはセキュリティで保護された情報をクリア テキストで表示しません。
User ID:Zen データベースへの接続に使用するデフォルトの Zen ユーザー名を入力します。
Standard Connection(標準接続)
Database Name:接続するデータベースの内部名を特定する文字列を入力します。
このフィールドに値を入力した場合は、Server DSN フィールドを使用できません。
Host:接続する Zen サーバーの名前または IP アドレスを入力します。たとえば、accountingserver などのサーバー名を指定できます。あるいは、IPv4 アドレス(199.262.22.34 など)または IPv6 アドレス(2001:DB8:0000:0000:8:800:200C:417A など)を指定できます。
Port:Zen データベースで動作しているリスナーの TCP ポートを入力します。
デフォルトのポート番号は 1583 です。
Server DSN:DEMODATA など、サーバー上のデータ ソースの名前です。
このフィールドに値を入力した場合は、Database Name フィールドを使用できません。
Tracing(トレース)
Enable Trace:1 以上の値を入力すると、トレースが有効になります。0(デフォルト)に設定すると、トレースは有効になりません。
Trace File:トレース ファイルのパスと名前を入力します。指定したトレース ファイルが存在しない場合は、データ プロバイダーがファイルを作成します。デフォルトは空文字列です。
1. [接続の確認]をクリックします。構成処理中のどの時点であっても、[接続の確認]をクリックして、[接続の追加]ウィンドウで指定した接続プロパティを使ってデータ ソースへ接続してみることができます。
• データ プロバイダーは接続に成功したら、その接続を停止した後、"テスト接続に成功しました" というメッセージを表示します。[OK]をクリックします。
• 不適当な環境であるか、または接続値が正しくないためにデータ プロバイダーが接続できない場合は、適切なエラー メッセージが表示されます。
2. [OK]をクリックします。
メモ:接続フェールオーバー機能で使用するための代替サーバーを構成している場合には、[接続の確認]ボタンでテストされるのはプライマリ サーバーのみで、代替サーバーはテストされないということを承知しておいてください。
3. [OK]または[キャンセル]をクリックします。[OK]をクリックした場合は、指定した値がデータ ソースへ接続するときのデフォルトになります。これらのデフォルト設定は、この手順を使ってデータ ソースを再構成することによって変更できます。また、これらの代わりの値を含む接続文字列を使ってデータ ソースに接続すれば、デフォルト設定を無効にすることができます。
データソース構成ウィザードによる接続の追加
データ ソース構成ウィザードを使用して、アプリケーションに新しい接続を追加することができます。
接続を追加するには
1. Visual Studio の[データ ソース]ウィンドウで、[
新しいデータ ソースの追加]を選択します。[データ ソース]ウィンドウを開くには、メイン メニューから[
表示]を選択し、[
その他のウィンドウ]>[
データ ソース]の順に選択します。
![](../adonet/images/chap6_AddDataSource.png)
データ ソース構成ウィザードが表示されます。
![](../adonet/images/chap6_DataSourceConnecWiz.png)
2. [
データベース]を選択し、[
次へ]をクリックします。[データ接続の選択]ウィンドウが表示されます。
![](../adonet/images/chap6_ChooseDatabaseModel.png)
Zen Performance Tuning Wizard の使用
Zen Performance Tuning Wizard は、アプリケーションについて一連の質問を通して手順を段階的に案内します。ウィザードに対する答えに基づき、Zen データ プロバイダーのパフォーマンスに関する接続文字列オプションに最適な設定が用意されます。
Visual Studio から Zen Performance Tuning Wizard を起動すると、以下のことが行えます。
• パフォーマンスに関する接続文字列オプションの値を生成します。これらの値は接続文字列にコピーされます。
• 既存の接続を変更します。
• お使いの環境に最適化された接続文字列を持つ、あらかじめ設定された新規アプリケーションを生成します。Performance Tuning Wizard はアプリケーションの種類および使用する ADO.NET コードのバージョンを選択するオプションを提供します。
Visual Studio で Zen Performance Tuning Wizard を使用するには
1. Performance Tuning Wizard を起動するには次のいずれかを行います。
• 新しい接続を作成するには、[
ツール]>[
Actian Zen]>[
Run Zen Performance Tuning Wizard]をクリックします。Performance Tuning Wizard の Welcome ダイアログが表示されたら、[
Next]をクリックします。手順
2 から処理を続けます。
• 既存の接続を変更するには、サーバー エクスプローラーでデータ接続を右クリックし、[
Run Zen Performance Tuning Wizard]をクリックします。Performance Tuning Wizard の Welcome ダイアログが表示されたら、[
Next]をクリックします。手順
2 から処理を続けます。
2. ウィザードは、お使いの環境に関する一連の質問を行います。デフォルトの答えのままにするか、必要に応じて答えを変更し、[Result]ページにたどり着くまで、[Next]をクリックして処理を進めます。
次のスクリーン ショットは、尋ねられる質問の一例を示しています。
![](../adonet/images/chap6_PerfTuningWiz.png)
3. データ プロバイダーに関する質問に答え終わると、[Result]ダイアログが表示され、接続文字列が表示されます。
次のスクリーン ショットは、Zen Performance Tuning Wizard が生成するパフォーマンスに関する接続文字列オプションを示しています。
![](../adonet/images/chap6_PerfTuningWizResults.png)
4. 次のいずれかを選択します。
• 接続文字列をほかのアプリケーションでも使用できるようにするには(デフォルトの初期値)、[Copy the connection string to clipboard]をクリックします。この接続文字列をほかのアプリケーションでも使用できます。
• 新規の接続または既存の接続を使用してウィザードを起動したかどうかに基づいて、次のオプションのいずれかを選択します。
• Create a new connection with the Performance Tuning Wizard connection string options
このオプションを選択して[Finish]をクリックすると、[接続の変更]ダイアログ ボックスが表示されます。ここでは、ホスト、パスワード、ユーザー ID など、接続情報を指定する必要があります。
• Re-configure the connection with the additional Performance Tuning Wizard connection string options
• 新規アプリケーションを作成するには、[Generate a new application pre-configured with these connection settings]を選択します。
このオプションを選択して[
Finish]をクリックすると、Zen Project テンプレートを使用して Zen アプリケーションが生成されます。プロバイダー固有のテンプレートの詳細については、
プロジェクトの新規作成を参照してください。
5. 新規アプリケーションの場合は以下の追加情報を定義します。
• ADO.NET 2.0 仕様に準拠したアプリケーションを作成するには、[Using data provider-specific interfaces]を選択します。
• ADO.NET 共通プログラミング モデルを使用するアプリケーションを作成するには、[Using common programming interfaces]を選択します。
• プロジェクトの場所を入力するか、[Browse]をクリックして場所を選択します
• プロジェクトの種類を選択します。デフォルトでは、ウィザードは C# アプリケーションを作成します。
6. [Finish]をクリックして Zen Performance Tuning Wizard を終了します。
プロバイダー固有テンプレートの使用
Visual Studio は SQL レベル調整などの機能を自動的に含めるアプリケーションの構築を助けるテンプレートのセットを提供します。
プロジェクトの新規作成
Visual Studio で新規プロジェクトを作成する場合、Zen データ プロバイダー固有のテンプレートを使用するか、汎用コードを持つアプリケーションを作成するテンプレートを使用することができます。
次の例では、Zen データ プロバイダー用のテンプレートを使用して Visual Studio で新規プロジェクトを作成します。
1. [ファイル]>[新規作成]>[プロジェクト]を選択します。[新しいプロジェクト]ダイアログが表示されます。
2. [インストール済み]リストで、[Visual C#]>[Actian Zen]を選択します。
3. 中央のペインで
Zen Project を選択します。
![](../adonet/images/chap6_InstlledList_Pervasive.png)
4. 必要に応じて他のフィールドに変更を加え、[OK]をクリックします。
5. 新規プロジェクトがソリューション エクスプローラーに表示されます。Zen ADO.NET データ プロバイダー用の名前空間が、プロジェクトに自動的に追加されます。
![](../adonet/images/chap6_PervasiveTemplateproj.png)
メモ:ADO.NET 2.0 共通プログラミング モデルを使用している場合は、Zen Generic Provider Project テンプレートを選択してください。この場合、プロジェクトはアセンブリへの特定の参照を必要としません。
既存のプロジェクトへのテンプレートの追加
Zen テンプレートを既存のプロジェクトに追加するには
1. ソリューション エクスプローラーでプロジェクトを右クリックし、[追加]>[新しい項目]をクリックします。
2. [
新しい項目の追加]ダイアログで Zen Class を選択します。
![](../adonet/images/chap6_templatePSQLclass.png)
3. [
追加]をクリックします。Zen データ プロバイダー用のクラスがプロジェクトに追加されます。
![](../adonet/images/chap6_templatePSQLclass_proj.png)
Zen Visual Studio Wizard の使用
ウィザードは、アプリケーション作成時に一般的に実行される作業です。
この手順を開始する前に、
プロジェクトの新規作成で説明したように Zen テンプレートを使用してプロジェクトを作成し、データ接続を追加します。
Add Table Wizard でのテーブルの作成
Visual Studio で Zen ADO.NET Add Table Wizard を使用して、新規テーブルをすばやく簡単に定義できます。
1. [表示]>[サーバー エクスプローラー]をクリックします。
2. データ ソース接続をダブルクリックして、その下部のノードを表示します。
3. [Tables]ノードを右クリックし、[Add New Table]をクリックします。Zen ADO.NET Add Table Wizard が表示されます。
4. [Next]をクリックします。[Specify Table Name]ダイアログが表示されます。
5. [
Table Name]フィールドにテーブルの名前を入力します。
![](../adonet/images/chap6_AddTable1.png)
6. [
Next]をクリックします。[Specify Column(s)]ダイアログが表示されます。
![](../adonet/images/chap6_AddTable2.png)
7. 新規テーブルの列を定義します。この選択により、データ型オプション ペインに追加フィールドが表示されます。
• [Add]をクリックしてテーブルに列を追加します。列名とデータ型のフィールドが編集可能になります。
• [Column Name]フィールドに列の名前を入力します。
• 列のデータ型を選択し、必要に応じて追加情報を指定します。
• 文字データ型を選択した場合は、Data Type Options ペインに[Length]フィールドが表示されます。列の最大サイズをバイト単位で入力します。
• 数値を選択した場合、Data Type Options ペインに[Precision]と[Scale]フィールドが表示されます。
• 列にヌル値を含むことができる場合は、[Allow Null]チェック ボックスをオンにします。
• テーブルから列を削除するには、列名を選択して[Remove]をクリックします。
8. [
Next]をクリックします。[Specify Primary Key]ダイアログが表示されます。
![](../adonet/images/chap6_AddTable3.png)
9. 次のいずれかを実行します。
• テーブルに主キーを指定したくない場合は[
No Primary Key]をクリックし、[
Next]をクリックします。[Specify Unique Key(s)]ダイアログが表示されます。手順
12 から処理を続けます。
• テーブルに主キーを指定する場合は[
Create Primary Key]をクリックして手順
10 に進みます。
10. [Specify Primary Key]ダイアログのフィールドを完成します。
• [Primary Key Name]フィールドで主キーの名前を入力するか、デフォルトの名前をそのまま使用します。
• [Available Columns]フィールドから列を選択して[Selected Columns]フィールドへ移動します。
11. [
Next]をクリックします。[Specify Unique Key(s)]ダイアログが表示されます。
![](../adonet/images/chap6_AddTable4.png)
12. 次のいずれかを実行します。
• テーブルに一意なキーを指定したくない場合は、[
Next]をクリックします。[Specify Foreign Key(s)]ダイアログが表示されます。手順
15 から処理を続けます。
• テーブルに 1 つ以上の一意なキーを指定する場合は、手順
13 から処理を続けます。
13. [Add]をクリックします。ダイアログ上のフィールドが選択可能になります。
• [Unique Keys]ドロップダウン リストで一意なキーを選択します。
• [Unique Key Name]フィールドで名前を編集するか、デフォルトの名前をそのまま使用します。
• [Available Columns]リスト ボックスで一意なキーの指定に使用する列を 1 つ以上選択し、[Selected Columns]リスト ボックスに移動します。
14. [
Next]をクリックします。[Specify Foreign Key(s)]ダイアログが表示されます。
![](../adonet/images/chap6_AddTable5.png)
15. 次のいずれかを実行します。
• テーブルに外部キーを指定したくない場合は、[
Next]をクリックします。[Review SQL]ダイアログが表示されます。手順
18 から処理を続けます。
• テーブルに 1 つ以上の外部キーを指定する場合は、手順
16 から処理を続けます。
16. [Add]をクリックします。ダイアログ上のフィールドが選択可能になります。
• [Foreign Keys]ドロップダウン リストで外部キーを選択します。
• [Foreign Key Name]フィールドで名前を編集するか、デフォルトの名前をそのまま使用します。
• [Table Schema]リストでテーブル スキーマを選択します。
• [Table Name]リストでテーブルを選択します。
• [Foreign Table Column]リストで、外部キーの指定に使用する 1 つ以上の外部キーを選択します。
• [Parent Table Column]リストで、親テーブルから対応する列を選択します。
17. [
Next]をクリックします。[Review SQL]ダイアログが表示されます。
![](../adonet/images/chap6_AddTable6.png)
18. 選択した内容によって生成された SQL ステートメントを確認します。
• SQL ステートメントに問題がなければ、[Finish]をクリックします。作成したテーブルは、サーバー エクスプローラー内のこの接続の[Tables]ノード下に表示されます。
• SQL ステートメントを追加したい場合、たとえば、ビューや特定のキーワードを追加するには、手順
19 から処理を続けます。
19. [Edit SQL]チェック ボックスをオンにします。[Generated SQL]フィールド内のテキストが編集可能になります。
メモ:[Edit SQL]チェック ボックスをオンにすると、[Back]ボタンが無効になります。
20. SQL ステートメントの変更に問題がなければ[Finish]をクリックします。作成したテーブルは、サーバー エクスプローラー内のこの接続の[Tables]ノード下に表示されます。
Add View Wizard でのビューの作成
Visual Studio で Zen Add View Wizard を使用して、新規ビューをすばやく簡単に定義できます。
1. まだ開いていない場合は、[表示]>[サーバー エクスプローラー]をクリックします。
2. データ ソース接続をダブルクリックして、その下部のノードを表示します。
3. [Views]ノードを右クリックし、[Add New View]をクリックします。Zen Add View Wizard の Welcome ダイアログが表示されます。
4. [Next]をクリックします。[Specify View Name]ダイアログが表示されます。
5. [View Name]フィールドにビューの名前を入力します。
![](../adonet/images/chap6_AddView1.png)
6. [
Next]をクリックします。[Select Table(s) and/or Column(s)]ダイアログが表示されます。
![](../adonet/images/chap6_AddView2.png)
7. [List of Tables and columns]リスト ボックスでビューを構成するテーブルまたは列を選択し、それを[Selected Columns]列に移動します。
8. [
Next]をクリックします。[Review SQL]ダイアログが表示されます。
![](../adonet/images/chap6_AddView3.png)
9. 選択した内容によって生成された SQL ステートメントを確認します。
• SQL ステートメントに問題がなければ、[Finish]をクリックします。作成したビューは、サーバー エクスプローラー内のこの接続の[ビュー]ノード下に表示されます。
• SQL ステートメントを追加したい場合、たとえば、ビューや特定のキーワードを追加するには、手順
11 から処理を続けます。
10. [Edit SQL]チェック ボックスをオンにします。[Generated SQL]フィールド内のテキストが編集可能になります。
メモ:[Edit SQL]チェック ボックスをオンにすると、[Back]ボタンが無効になります。
11. SQL ステートメントの変更に問題がなければ[Finish]をクリックします。作成したビューは、サーバー エクスプローラー内のこの接続の[ビュー]ノード下に表示されます。
ツールボックスからのコンポーネントの追加
Visual Studio のツールボックスから Windows フォーム アプリケーションにコンポーネントを追加することができます。Windows フォーム アプリケーションの作成については、Visual Studio オンライン ヘルプを参照してください。
この手順を開始する前に、Windows フォーム アプリケーションを作成してデータ接続を追加してください。
Windows フォーム アプリケーションに Zen データ プロバイダー コンポーネントを追加するには
1. [表示]>[ツールボックス]をクリックします。ツールボックスで Zen ADO.NET Provider が表示されるまで下へスクロールします。
2. PsqlCommand ウィジェットを選択して Windows フォーム アプリケーションにドラッグします。
3. 必要に応じて、アプリケーションへのウィジェットの追加を続けます。
データ プロバイダー統合のシナリオ
Zen データ プロバイダーは Visual Studio に統合されているため、多くのデータ アクセス作業を簡略化することができます。たとえば、データベースへの接続を作成した後、クエリ ビルダーを使用してクエリを作成することができます。
クエリ ビルダーによって、データベース クエリをグラフィカルに設計できます。
単純なクエリを作成するには
2. サーバー エクスプローラーでデータ ソースを選択します。
3. [
Tables]を右クリックして、[
新しいクエリ]を選択します。
![](../adonet/images/chap6_NewQuery.png)
4. [テーブルの追加]ウィンドウが表示されます。使用するデータが入っているテーブルを選択したら、[
追加]をクリックします。
![](../adonet/images/chap6_NewQuery_add.png)
5. [閉じる]をクリックして、[テーブルの追加]ウィンドウを閉じます。
6. 返したい列を選択します。この例では、employee テーブルの id、name および salary 列を選択します。
![](../adonet/images/chap6_NewQuery_addcolumns.png)
7. ツール バーの[
SQL の実行]ボタンをクリックします。
![](../adonet/images/chap6_ExecSQL.png)
8. 表示された結果を調べます。