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