単純なコンシューマの作成

更新 : 2007 年 11 月

ATL プロジェクト ウィザードと ATL OLE DB コンシューマ ウィザードを使用して、OLE DB テンプレート コンシューマを生成します。

OLE DB コンシューマのコンソール アプリケーションを作成するには

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

    [新しいプロジェクト] ダイアログ ボックスが表示されます。

  2. プロジェクトの種類ペインで [Visual C++ プロジェクト] フォルダをクリックし、テンプレート ペインで [Win32 プロジェクト] アイコンをクリックします。[プロジェクトの名前] ボックスにプロジェクトの名前 (MyCons など) を入力します。

  3. [OK] をクリックします。

    Win32 プロジェクト ウィザードが表示されます。

  4. [アプリケーションの設定] ページの [コンソール アプリケーション] をクリックし、[サポートの追加] を選択します。

  5. [完了] をクリックしてウィザードを閉じ、プロジェクトを生成します。

次に、ATL OLE DB コンシューマ ウィザードを使用して、OLE DB コンシューマ オブジェクトを追加します。

ATL OLE DB コンシューマ ウィザードでコンシューマを作成するには

  1. クラス ビューで、MyCons プロジェクトを右クリックします。

  2. ショートカット メニューの [追加] をポイントし、[クラスの追加] をクリックします。

    [クラスの追加] ダイアログ ボックスが表示されます。

  3. カテゴリ ペインの [Visual C++] をクリックし、テンプレート ペインの [ATL OLE DB コンシューマ] アイコンをクリックし、[開く] をクリックします。

    ウィザードが表示されます。

  4. [データ ソース] をクリックします。

    [データ リンク プロパティ] ダイアログ ボックスが表示されます。

  5. [データ リンク プロパティ] ダイアログ ボックスで、以下の操作を行います。

    • [プロバイダ] タブで、OLE DB プロバイダを指定します。

    • [接続] タブで、サーバー名、データ ソースに対するログイン ID とパスワード、およびサーバー上のデータベースを指定します。

    8kaf36d4.alert_note(ja-jp,VS.90).gifメモ :

    [データ リンク プロパティ] ダイアログ ボックスの [パスワードを保存する] には、セキュリティ上の問題があります。[サーバーへのログオンに必要な情報を入力します] には、[Windows NT の統合セキュリティを使用する] オプション ボタンと [特定のユーザー名およびパスワードを使用する] オプション ボタンがあります。

    8kaf36d4.alert_note(ja-jp,VS.90).gifメモ :

    [特定のユーザー名とパスワードを使用する] をクリックすると、パスワード保存用のオプション ([パスワードを保存する] チェック ボックス) を使用できますが、このオプションにはセキュリティ上の問題があります。[Windows NT の統合セキュリティを使用する] を選択することをお勧めします。このオプションでは、Windows NT を使用してユーザーの ID を確認します。

    8kaf36d4.alert_note(ja-jp,VS.90).gifメモ :

    Windows NT の統合セキュリティを使用できない場合は、中間層アプリケーションを使用してユーザーにパスワードを要求するか、またはパスワードを保護できるようにセキュリティ メカニズムを備えた (ソース コード以外の) 場所にパスワードを保存する必要があります。

    プロバイダとその他の設定を選択した後で、[接続のテスト] をクリックして、ダイアログ ボックスのこれまでのページで行った選択を確認します。[結果] ボックスに "Test connection succeeded" と表示されている場合は、[OK] をクリックしてデータ リンクを作成します。

    [データベース オブジェクトの選択] ダイアログ ボックスが表示されます。

  6. ツリー コントロールを使用して、テーブル、ビュー、またはストアド プロシージャを選択します。ここでは、Northwind データベースの Products テーブルを選択します。

  7. [OK] をクリックします。これで、ATL OLE DB コンシューマ ウィザードに戻ります。

  8. 選択したテーブル、ビュー、またはストアド プロシージャの名前に基づいて、ウィザードが [クラス] や [.h ファイル] の名前を作成します。これらの名前は必要に応じて編集できます。

  9. [属性] チェック ボックスをオフにすると、既定の OLE DB コンシューマ属性ではなく OLE DB テンプレート クラスを使用して、コンシューマ コードが作成されます。

  10. [種類] の [コマンド] を選択します。

    [コマンド] を選択した場合は CCommand ベースのコンシューマが作成されます。[テーブル] を選択した場合は CTable ベースのコンシューマが作成されます。テーブル クラスまたはコマンド クラスには、選択したオブジェクトに基づいて名前が付けられますが、この名前は編集できます。

  11. [サポート] の下の [変更]、[挿入]、および [削除] の各ボックスはオフにしておきます。

    必要に応じて、[変更]、[挿入]、および [削除] の各チェック ボックスをオンにすると、行セットのレコードの変更、挿入、および削除がサポートされます。データ ストアへのデータの書き込みの詳細については、「行セットの更新」を参照してください。

  12. [完了] をクリックして、コンシューマを作成します。

コンシューマ ウィザードで生成されたクラス」に示すように、ウィザードによってコマンド クラスとユーザー レコード クラスが生成されます。コマンド クラスの名前は、ウィザードの [Class] ボックスに入力した名前 (この場合は CProducts) になります。また、ユーザー レコード クラスの名前は、"ClassNameAccessor" という形式の名前 (この場合は CProductsAccessor) になります。

8kaf36d4.alert_note(ja-jp,VS.90).gifメモ :

次の行が Products.h に挿入されます。

#error Security Issue: The connection string may contain a password
8kaf36d4.alert_note(ja-jp,VS.90).gifメモ :

この行により、コンシューマ アプリケーションはコンパイルされなくなるため、ユーザーはハードコーディングされたパスワードの接続文字列を確認する必要があります。接続文字列を確認した後で、このコード行を削除できます。

参照

概念

ウィザードを使用した OLE DB コンシューマの作成