次の方法で共有


データ バインド ジェネレーター

データ バインド ジェネレーターを使用すると、既存のデータ ソースから取得したデータを列に設定できます。 利用できるデータ ソースの例としては、データベース、Microsoft Excel ブック、テキスト ファイルなどがあります。

データ バインド ジェネレーターの使用

データ バインド ジェネレーターを使用して列にデータを設定するには、列を正しく構成する必要があります。 DataBound ジェネレーターを列のジェネレーターとして指定し、列のジェネレーターのプロパティを設定する必要があります。 詳細については、「列へのデータ生成の詳細の指定」を参照してください。

データ バインド ジェネレーターのプロパティ

データ バインド ジェネレーターに固有のプロパティを次に示します。

  • [接続情報] プロパティ。データを読み取るデータ ソースの接続文字列を指定します。 接続文字列は、次の 3 つの方法で指定できます。

    • プロパティに接続文字列を入力する。

    • 下向き矢印をクリックし、既存の接続をクリックする。

    • 下向き矢印を右クリックし、[新しい接続の追加] をクリックする。

  • [クエリの選択] プロパティ。データ ソースからデータを取得するクエリを選択します。 たとえば、次のように入力できます。

    SELECT * FROM dbo.Customers
    

ジェネレーターの出力

[接続情報] プロパティと [クエリの選択] プロパティを設定することにより、データ ソースから返されるデータセットを指定できます。 これらのプロパティを設定した後で、[列の詳細] ウィンドウの [ジェネレーターの結果] 列を設定する必要があります。 [ジェネレーターの結果] 列には、データ セット内の、データの設定対象の列のデータ型に該当する列の一覧が含まれています。 下向き矢印をクリックして、使用するデータを指定できます。

クエリが該当するデータ型の列を返さない場合は、"<強制出力なし>" というテキストが表示されます。 このクエリから列名のない列が返される場合は、クエリを変更してすべての列に名前を付ける必要があります。 "入力検証に失敗しました。エラー: スキーマ情報を取得できませんでした。 SELECT ステートメントによって、名前のない列を含む結果セットが生成される場合は、"AS" キーワードを使用して列に名前を付けてください" というエラーが表示されます。 次の例は適切ではありません。

SELECT * FROM dbo.Customers

この場合は、次のコードを使用します。

SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers

大規模なデータ ソースに関する考慮事項

データ バインド ジェネレーターを使用して大規模なデータ ソースからデータを読み取ると、パフォーマンス上の問題が発生することがあります。 パフォーマンスの問題を避けるには、次の方法が役立ちます。

  • 必要な列だけを選択する。 次の例は適切ではありません。

    SELECT * FROM dbo.Customers
    

    この場合は、次のコードを使用します。

    SELECT ContactName FROM dbo.Customers
    
  • 必要な量のデータだけを選択する。 たとえば、生成するデータが 50 行だけで、データ ソースに 2,000 行のデータが含まれている場合は、最初の 50 行のデータだけを選択します。 次の例は適切ではありません。

    SELECT * FROM dbo.Customers
    

    この場合は、次のコードを使用します。

    SELECT TOP 50 * FROM dbo.Customers
    

    以上の 2 つの方法を、次の例のように組み合わせることができます。

    SELECT TOP 50 ContactName FROM dbo.Customers
    

参照

処理手順

方法 : データ生成計画をプレビューする

概念

標準データ ジェネレーターの種類

データ ジェネレーターを使用したデータベースのテスト データの生成