ATL プロジェクト ウィザードと ATL OLE DB コンシューマー ウィザードを使用して、OLE DB テンプレート コンシューマーを生成します。
OLE DB コンシューマーのコンソール アプリケーションを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
プロジェクトの種類ペインで [Visual C++ プロジェクト] フォルダーをクリックし、テンプレート ペインで [Win32 プロジェクト] アイコンをクリックします。 [プロジェクトの名前] ボックスにプロジェクトの名前 (MyCons など) を入力します。
[OK] をクリックします。
Win32 プロジェクト ウィザードが表示されます。
[アプリケーションの設定] ページの [コンソール アプリケーション] をクリックし、[サポートの追加] を選択します。
[完了] をクリックしてウィザードを閉じ、プロジェクトを生成します。
次に、ATL OLE DB コンシューマー ウィザードを使用して、OLE DB コンシューマー オブジェクトを追加します。
ATL OLE DB コンシューマー ウィザードでコンシューマーを作成するには
[クラス ビュー] で、MyCons プロジェクトを右クリックします。
ショートカット メニューの [追加] をポイントし、[クラスの追加] をクリックします。
[クラスの追加] ダイアログ ボックスが表示されます。
カテゴリ ペインの [Visual C++] をクリックし、テンプレート ペインの [ATL OLE DB コンシューマー] アイコンをクリックし、[開く] をクリックします。
ウィザードが表示されます。
[データ ソース] をクリックします。
[データ リンク プロパティ] ダイアログ ボックスが表示されます。
[データ リンク プロパティ] ダイアログ ボックスで、以下の操作を行います。
[プロバイダー] タブで、OLE DB プロバイダーを指定します。
[接続] タブで、サーバー名、データ ソースに対するログイン ID とパスワード、およびサーバー上のデータベースを指定します。
注意
[データ リンク プロパティ] ダイアログ ボックスの [パスワードを保存する] には、セキュリティ上の問題があります。 [サーバーへのログオンに必要な情報を入力します] には、[Windows NT の統合セキュリティを使用する] オプション ボタンと [特定のユーザー名およびパスワードを使用する] オプション ボタンがあります。
注意
[特定のユーザー名とパスワードを使用する] をクリックすると、パスワード保存用のオプション ([パスワードを保存する] チェック ボックス) を使用できますが、このオプションにはセキュリティ上の問題があります。 [Windows NT の統合セキュリティを使用する] を選択することをお勧めします。このオプションでは、Windows NT を使用してユーザーの ID を確認します。
注意
Windows NT の統合セキュリティを使用できない場合は、中間層アプリケーションを使用してユーザーにパスワードを要求するか、またはパスワードを保護できるようにセキュリティ メカニズムを備えた (ソース コード以外の) 場所にパスワードを保存する必要があります。
プロバイダーとその他の設定を選択した後で、[接続のテスト] をクリックして、ダイアログ ボックスのこれまでのページで行った選択を確認します。 [結果] ボックスに "テスト接続に成功しました。" と表示されている場合は、[OK] をクリックしてデータ リンクを作成します。
[データベース オブジェクトの選択] ダイアログ ボックスが表示されます。
ツリー コントロールを使用して、テーブル、ビュー、またはストアド プロシージャを選択します。 ここでは、Northwind データベースの Products テーブルを選択します。
[OK] をクリックします。 これで、ATL OLE DB コンシューマー ウィザードに戻ります。
選択したテーブル、ビュー、またはストアド プロシージャの名前に基づいて、ウィザードが [クラス] や [.h ファイル] の名前を作成します。 これらの名前は必要に応じて編集できます。
[属性] チェック ボックスをオフにすると、既定の OLE DB コンシューマー属性ではなく OLE DB テンプレート クラスを使用して、コンシューマー コードが作成されます。
[種類] の [コマンド] を選択します。
[コマンド] を選択した場合は CCommand ベースのコンシューマーが作成されます。[テーブル] を選択した場合は CTable ベースのコンシューマーが作成されます。 テーブル クラスまたはコマンド クラスには、選択したオブジェクトに基づいて名前が付けられますが、この名前は編集できます。
[サポート] の下の [変更]、[挿入]、および [削除] の各ボックスはオフにしておきます。
必要に応じて、[変更]、[挿入]、および [削除] の各チェック ボックスをオンにすると、行セットのレコードの変更、挿入、および削除がサポートされます。 データ ストアへのデータの書き込みの詳細については、「行セットの更新」を参照してください。
[完了] をクリックして、コンシューマーを作成します。
「コンシューマー ウィザードで生成されたクラス」に示すように、ウィザードによってコマンド クラスとユーザー レコード クラスが生成されます。 コマンド クラスの名前は、ウィザードの [クラス] ボックスに入力した名前 (この場合は CProducts) になります。また、ユーザー レコード クラスの名前は、"ClassNameAccessor" という形式の名前 (この場合は CProductsAccessor) になります。
注意
次の行が Products.h に挿入されます。
#error Security Issue: The connection string may contain a password
注意
この行により、コンシューマー アプリケーションはコンパイルされなくなるため、ユーザーはハードコーディングされたパスワードの接続文字列を確認する必要があります。 接続文字列を確認した後で、このコード行を削除できます。