SharePoint で SQL Server の外部コンテンツ タイプを作成する

SharePoint で SQL Server 向けの外部コンテンツ タイプを作成する方法を確認します。

外部コンテンツ タイプの作成は外部データを操作する場合の重要なタスクです。 外部コンテンツ タイプには、接続、アクセス、操作方法、列、フィルター、およびその他、外部データ ソースからのデータ取得に使用されるメタデータに関する重要な情報が含まれています。

開始する前に

外部データを操作する場合、データに安全にアクセスできるよう前提条件となるタスクがいくつか必要です。 以下の情報を使用すると、次のステップの計画に役立ちます。 また、外部データの操作に問題がある場合は、この情報が問題の特定に役立ちます。 外部データにアクセスするには、ユーザーまたは管理者が次の作業を実行する必要があります。

SQL Server の準備 データベース管理者は適切なユーザーがデータへのアクセス権を持ち、データが間違ったユーザーに渡らないようにアクセス許可を与える必要があります。 また、データベース管理者は db_owner アクセス許可が割り当てられた SQL Server アカウントを作成する必要があります。 データベース管理者はこのほか、特定のテーブル、ビュー、クエリ、列のエイリアスなどを作成して結果を必要なものに限定したり、パフォーマンス向上に役立てることができます。

SharePoint サービスの構成 管理者は Business Connectivity Services (BCS) および Secure Store Service をアクティブ化する必要があります。

Secure Store Service の構成 管理者は外部データ ソース用の最適なアクセス モードを決定し、ターゲット アプリケーションを作成し、ターゲット アプリケーションの資格情報を設定する必要があります。

Business Data Connectivity Services の構成 管理者は、外部コンテンツ タイプの作成者が Business Data Connectivity (BDC) メタデータ ストアへのアクセス許可を所有し、適切なユーザーが外部リストのベースである外部コンテンツ タイプへのアクセス権を所有するようにする必要があります。

Office 2013 の使用準備完了の確認 外部データを Office 2013 製品に同期するには、Windows 7 以降のバージョンを使用し、Business Connectivity Services (BCS) の Office インストール オプションを有効にする必要があります (この設定が既定です)。 このオプションにより、次の処理 (外部データのキャッシュおよび同期、ビジネス データから外部コンテンツ タイプへのマップ、Office 製品での外部アイテム ピッカーの表示、Office 製品内でのカスタム ソリューションの実行) を担う Business Connectivity Services Client Runtime がインストールされます。 このほか、各クライアント コンピューターに SQL Server Compact 4.0, .NET Framework 4、および WCF Data Services 5.0 for OData V3 を用意する必要があります (必要な場合は、ソフトウェアのダウンロードが自動的に案内されます)。

全般的な情報を定義する

  1. Microsoft SharePoint Designer 2013を起動します。

  2. [ サイトを開く] をクリックし、適切なサイト名を入力します。

  3. ナビゲーション ウィンドウの [サイト オブジェクト][外部コンテンツ タイプ] を選択します。

    注:

    SharePoint Designer 2013 では、外部コンテンツ タイプ デザイナーの最初のウィンドウの名前空間で外部コンテンツ タイプをグループ化します。

  4. 外部コンテンツ タイプ デザイナーを開くには、リボンで [外部コンテンツ タイプ] をクリックします。

  5. [ 新しい外部コンテンツ タイプ] ページで、次の操作を行います。

    • [ 名前] の横の [ 新しい外部コンテンツ タイプ] をクリックし、外部コンテンツ タイプの一意名を入力します。
    • わかりやすい表示名が必要な場合は、[ 表示名] の横に別の名前を入力します。

一般的な動作および Office の動作を定義する

  1. [ Office 項目の種類] ドロップダウン リストで、次のオプションのいずれかを選択します。

    • 標準リスト このオプションは任意のリストの種類に使用できます。
    • Appointment, Contact, Task, or Post (予定、連絡先、タスク、または投稿) Outlook の連絡先、タスク、予定、または投稿アイテムのように動作するリストを作成する場合は、このオプションを選択します。 ここで選択する Office 項目の種類によって、外部コンテンツ タイプに接続する Outlook の動作が決まります。 たとえば、"顧客" 外部コンテンツ タイプの動作は Outlook の固有の連絡先アイテムのように動作します。
  2. [外部リストへのオフライン同期] チェック ボックスで、既定の [有効] が選択されていることを確認します。

    注:

    このオプションを無効にすると、[SharePoint Connect to Outlook] (SharePoint から Outlook に接続) コマンドが外部リストで使用できなくなります。

    注:

    ファームおよびサイト機能の [外部リストのオフライン同期] もアクティブにする必要があります。 この機能はファーム レベルでは既定でアクティブにされていますが、サイト レベルでは既定でアクティブにされていません。

外部データへの接続を作成する

  1. 外部コンテンツ タイプの SQL Server データベースを指定するには、[ ここをクリックして、外部データソースの検出と操作の定義を行います。] をクリックします。

  2. [ 接続の追加] をクリックし、[ 外部データ ソース タイプの選択] ダイアログ ボックスの [ SQL Server] を選択し、[ OK] をクリックします。

  3. [ SQL Server 接続] ダイアログ ボックスで、サーバーの名前、データベース名、オプションの説明を入力し、[ OK] をクリックします。

  4. 認証モードを選択するには、次のいずれかを選択します。

    • ユーザーの ID で接続 パススルー認証モードを使用します。
    • 偽装した Windows ID で接続 WindowsCredentials 認証モードを使用します。
    • 偽装したカスタム ID で接続 RDBCredentials 認証モードを使用します。
  5. [ Secure Store アプリケーション ID] ボックスに、Secure Store Service で作成したターゲット アプリケーションの ID 名を入力します。

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

SharePoint Designer 2013では、接続情報の検証およびテストを行います。 メッセージが表示された場合は、解決してから続行してください。

テーブル、ビュー、またはルーチンの選択

  1. データ ソース エクスプローラーで、データベースを展開し、そこに含まれるテーブル、ビュー、またはルーチンを表示します。
  2. テーブル、ビュー、またはルーチンを選択します。

操作の定義

  1. データ ソース エクスプローラーで、テーブル、ビュー、またはルーチンを右クリックし、次のいずれかを選択します。

    • すべての操作を作成 アイテムの作成、アイテムの削除、アイテムの読み取り、リストの読み取り、アイテムの更新の操作を定義します。

      注:

      [すべての操作を作成] はテーブルおよびビューに対してのみ使用できます。 Routines require specific operations.

    • "アイテム読み取り" 操作の新規作成 アイテムの読み取り操作を定義します。

    • "リストの読み取り" 操作の新規作成 リストの読み取り操作を定義します。

    • "更新" 操作の新規作成 項目の更新操作を定義します。

    • "削除" 操作の新規作成 項目の削除操作を定義します。

    • 更新 データ ソース エクスプローラーで、テーブル、ビュー、およびルーチンのリストを更新します。

  2. [ 次へ] をクリックします。

    注:

    • 複数のテーブルにわたるビューでは、書き込み操作がサポートされているようにしてください。 書き込み操作がサポートされていないと、[ すべての操作を作成] または [ "更新" 操作の新規作成] が失敗する場合があります。
    • 少なくとも、[ "項目の読み取り" 操作の新規作成] および [ "リストの読み取り" 操作の新規作成] は必ず定義してください。外部リストなどの SharePoint 機能がこうした操作に依存しているためです。
    • テーブルまたはビューで特定の操作がサポートされていない場合は、[ すべての操作を作成] ではなく個別の操作を選択してください。

列を追加する

  1. テーブルまたはビューから表示する列を指定するには、[ 次へ] をクリックします。

  2. [ パラメーター構成] ダイアログ ボックスでは、既定ですべての列 ( データ ソース要素と呼ばれます) が選択されています。 不要な列を削除するには、対応するチェック ボックスをオフにします。

    注:

    ネイティブの SharePoint リストとは異なり、外部リストの列名は変更できません。 SQL 列のエイリアスを使用して、分かりやすい名前または短い名前を指定することをお勧めします。

  3. 識別子フィールドを選択するには、フィールド (通常は一意の値のフィールド) をクリックして強調表示し、[プロパティ][識別子にマッピング] をクリックします。

    重要

    ID、プライマリ キー フィールドなど特定のフィールドが更新されないようにするには、[必須] チェック ボックスをオフにし、[読み取り専用] チェック ボックスをオンにします。この設定は、他のフィールドを更新する場合の項目の取得に必要です。

    ヒント

    [エラーと警告] ウィンドウのメッセージを注意してお読みください。 実行内容の確認と問題のトラブルシューティングに役立つ有用な情報が提示されています。 定期的に [エラーと警告] ウィンドウをクリックし、エラーや警告が存在していないことを確認してください。

Outlook のフィールドのマッピング

外部コンテンツ タイプを Outlook アイテムの種類にマップする場合、外部コンテンツ タイプの 1 つ以上のフィールドを Outlook アイテム フィールドにマップする必要があります。 "顧客" などの外部コンテンツ タイプを、連絡先などの Outlook アイテムの種類にマップする場合、顧客の姓、顧客の名、顧客の住所、顧客の電話番号などの外部コンテンツ タイプの個々のフィールドをそれぞれ、連絡先の姓、名、事業所住所、事業所電話番号などの Outlook アイテムの種類フィールドに明示的にマップする必要があります。

  • 各フィールドについて、次を実行してください。

    1. フィールドをクリックして強調表示します。

    2. [ プロパティ] の [ Office プロパティ] の横にある下矢印をクリックします。 をクリックし、適切な一致するフィールドを選択します。

      注:

      対応するフィールドをすべてマップする必要はありません。 ただし、次の表に示すフィールドはマップする必要があります。

表: Outlook アイテム フィールドにマッピングする Outlook アイテムの種類

Outlook アイテムの種類 Outlook アイテム フィールド
Contact LastName
タスク Subject
Appointment 開始、終了、および件名
投稿 Subject

マップされていないフィールドは数によって、下に示す拡張プロパティとして表示されます。

  • Adjoining (隣接) Outlook フォームの既定のページ下部にあるフォーム領域に追加されます (フィールド数が 2 ~ 5 の場合)。
  • Separate (分離) 新しいページとして Outlook フォームに追加されます (フィールド数が 6 以上の場合)。

外部アイテム ピッカー コントロールの設定

外部アイテム ピッカー コントロールを使用すると、ID フィールドや一意の値を持つフィールドなどのフィールドを選択して、項目を簡単に選択できます。 このコントロールは、SharePoint および Office 2013 製品で使用できます。 たとえば、ユーザーはこのコントロールを使用して顧客の外部リストから項目を選択できます。Word 2013 では、外部データ列にリンクされているコンテンツ コントロールでこのコントロールを使用できます。既定の操作では、ほとんどの場合は不要なすべての列を表示するため、外部アイテム ピッカー コントロールに表示する特定の列を選択することをお勧めします。

  1. 外部アイテム ピッカー コントロールに表示するフィールドごとに、フィールドをクリックして強調表示し、[ プロパティ] の下で [ ピッカーに表示] チェック ボックスをオンにします。
  2. [ 次へ] をクリックします。

注:

定義したフィルターはすべて、外部アイテム ピッカー コントロールに表示されます。 外部アイテム ピッカー コントロールから特定のフィルターを削除することはできませんが、フィルターの作成また変更時に [フィルターの構成] ダイアログ ボックスの [既定] をクリックして、既定のフィルターを定義することができます。

フィルターを定義する

フィルターを定義しない場合、外部リストから Business Connectivity Services (BCS) の調整制限 (既定では 2,000 アイテム) を上限とするデータがすべて返されるか、現在の調整制限に満たない場合は、外部コンテンツ タイプに定義されているすべてのデータが返されます。 また、結果の処理はすべて SharePoint 製品で行われます。 フィルターを少なくとも 1 つ定義することをおすすめします。 一般に、知っておく必要のあるフィルターが 2 種類あります。

  • データ ソース フィルター 外部コンテンツ タイプのフィルター (データ ソース フィルター) を作成する場合、フィルター操作は SQL Server データベース内で発生します。 膨大なデータを操作する場合、SharePoint 製品から外部データベースに処理をオフロードし、パフォーマンスを向上できるので、これは重要です。 外部リストを作成できたら、[ リスト ビュー] 設定ページの [ データ ソース フィルター] セクションでさまざまなフィルター値が指定されたビューを作成して、データ ソース フィルターを使用できます。
  • SharePoint フィルター SharePoint フィルター (列ヘッダー フィルターまたは [ リスト ビュー] 設定ページの [ フィルター] セクション) を使用して、データをフィルター処理することもできます。 この場合、フィルター操作は SQL Server データベース内ではなく、SharePoint 製品内で発生します。

大量のデータをまず外部データ ソースでフィルター処理してから、ユーザーが SharePoint フィルターでさらにその結果をフィルター処理し、絞り込むようにする個別のデータ ソース フィルターを使用して、外部リスト ビューのセットを作成する方法をおすすめします。

いくつかの異なる種類のフィルターを作成できます。 作成した各フィルターに対して、次の操作を実行します。

  1. [ プロパティ] の [ データ ソース要素] の横で、フィールドを選択します。
  2. [ プロパティ] の [ フィルター] の横で、[ クリックして追加] をクリックして [ フィルターの構成] ダイアログ ボックスを表示します。
  3. [ フィルター パラメーターの追加] をクリックします。
  4. [ 新しいフィルター] ボックスに、フィルターの名前を入力します。
  5. [ フィルターの種類] ボックスで、フィルターの種類を選択します。

比較

比較フィルターは条件 (State = "New Jersey" など) に基づいて、返されるアイテムを制限するフィルターで、SQL WHERE 句に変換されます。

  1. [ フィルターの種類] ボックスで、[ 比較] を選択します。
  2. [ 演算子] ボックスで、演算子を選択します。
  3. [ フィルター フィールド] ボックスで、比較するフィールドが選択されていることを確認します。
  4. ユーザーが入力した値を大文字と小文字を区別して一致させたい場合は、[大文字を小文字を区別] をクリックします。
  5. 複数の一致アイテムが存在する場合に外部アイテム ピッカー コントロールに一致リストを表示する場合は、[外部アイテム ピッカーの一致リストの作成に使用] を選択します。
  6. [OK] をクリックします。
  7. [プロパティ][既定値] の隣に、ユーザーが値を入力しなかった場合の絞り込みに使用する初期値を入力します。 値を入力しない場合、外部リストにはアイテムが表示されません。

ワイルドカード

ワイルド カード フィルターは、ユーザーが入力した文字列値 (State Contains "New" など) に基づいて、返される項目を制限し、SQL LIKE 句に変換されます。 有効な SQL Server ワイルドカード文字は、任意の数の文字の一致を意味する * (アスタリスク) と、1 文字のみの一致を意味する _ (アンダースコア) です。

  1. [ フィルターの種類] ボックスで、[ ワイルドカード] を選択します。
  2. [ フィルター フィールド] ボックスで、フィールドを選択します。
  3. ユーザーが入力した値を大文字と小文字を区別して一致させたい場合は、[大文字を小文字を区別] をクリックします。
  4. 複数の一致アイテムが存在する場合に外部アイテム ピッカー コントロールに一致リストを表示する場合は、[外部アイテム ピッカーの一致リストの作成に使用] を選択します。
  5. [OK] をクリックします。
  6. [プロパティ][既定値] の隣に、ユーザーが値を入力しなかった場合の絞り込みに使用する初期値を入力します。 値を入力しない場合、外部リストにはアイテムが表示されません。 既定値として * (アスタリスク) を入力することをおすすめします。

極限

ほとんどの場合、読み取りおよびリストの読み取り操作向けに制限フィルターを定義する必要があります。 [ Default Limit] (既定の制限) 値を定義しない場合、外部データ ソースからデータが取得されません。 Business Connectivity Services (BCS) の既定の調整数は 2,000 アイテムなので、制限フィルター用の既定値は 2,000 未満にします。 必要な場合は、この制限値を増やすことができます。

  1. [ フィルターの種類] ボックスで、[ 制限] を選択します。

  2. [数値] ボックスに数値を入力します。

  3. 複数の一致アイテムが存在する場合に外部アイテム ピッカー コントロールに一致リストを表示する場合は、[外部アイテム ピッカーの一致リストの作成に使用] を選択します。

  4. [プロパティ][既定値] の隣に、ユーザーが値を入力しなかった場合の絞り込みに使用する初期値を入力します。 値を入力しない場合、外部リストにはアイテムが表示されません。

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

    注:

    SQL Server データベース管理者は、特定のテーブル、ビュー、インデックス、および最適化されたクエリを作成して結果を必要なものに限定したり、パフォーマンス向上に役立てることができます。

ページ番号

外部コンテンツ タイプ "ページ番号" を使用して、外部リストの [ リスト ビュー] ページに定義された SharePoint のページの制限を置き換えることができます。 次に違いを示します。

  • 外部コンテンツ タイプ "ページ番号" は、まず SQL Server データベース内で結果を処理してから、[ページ サイズ] の値で指定された行数のみを返し、表示します。
  • SharePoint のページ制限は、SQL Server データベースから [既定値] サイズを上限としてすべての行を返してから、[ リスト ビュー] 設定ページの SharePoint のページ制限値で指定された行数を表示します。

外部コンテンツ タイプ "ページ番号" を使用するほうが通常は効率がよくなります。 また、[ 順序] 値の使用により、返された結果を正確に表示できるようになります。

  1. [ フィルターの種類] ボックスで、[ ページ番号] を選択します。
  2. [ ページ サイズ] ボックスに、数を入力します。
  3. [ 順序] ボックスで、並べ替え順を選択します。
  4. [OK] をクリックします。
  5. [プロパティ][既定値] の隣に、ユーザーが値を入力しなかった場合の絞り込みに使用する初期値を入力します。 値を入力しない場合、外部リストにはアイテムが表示されません。
  6. フィールドの表示のみ行い、変更は行わない場合、フィールドをクリックして強調表示し、[ プロパティ] の下で [ 読み取り専用] を選択します。
  7. フィールドが作成または変更される場合に必ず値を持つようにするには、フィールドをクリックして強調表示し、[ プロパティ] の下で [ 必須] を選択します。
  8. SQL Server の列名から派生した [ データ ソース要素] 名のわかりやすい名前を外部アイテム ピッカー コントロールに表示するには、[ プロパティ] の下の [ 表示名] ボックスに名前を入力します。
  9. フィルターの既定値を定義するには ([ リスト ビュー] 設定ページの [ データ ソース フィルター] セクションにも表示されます)、[ フィルター パラメーター] でフィルターをクリックして強調表示し、[ 既定値] ボックスに適切な値を入力します。 値を入力しない場合、フィルターの初回使用時にアイテムが表示されません。

外部リストのタイトル フィールドの設定

  1. リボンで [ 概要ビュー] をクリックします。

  2. [フィールド] セクションの [フィールド名] でフィールドを選択します。

    重要

    一般に、一意の値を持つフィールドをタイトルにすることをおすすめします。 [タイトル] フィールドは、リストまたは InfoPath フォームを表示するのに使用します。 一度 [タイトル] フィールドを設定すると、変更することはできません。

  3. リボンで [タイトルとして設定] をクリックします。

外部コンテンツ タイプの完成

  • クイック アクセス ツール バーの [ 保存] をクリックします。 この操作により、外部コンテンツ タイプ定義が Business Data Connectivity メタデータ ストアに保存されます。

    注:

    パフォーマンスを向上させるために、Business Data Connectivity はメタデータ ストア内のすべてのオブジェクトをキャッシュし、1 分ごとに実行されるタイマー ジョブを使用して変更を更新します。 変更がファーム内のすべてのサーバーに反映されるまでに最大 1 分かかる場合がありますが、変更は変更を加えたサーバー上で直ちに行われます。

外部コンテンツ タイプが SharePoint および Office 2013 製品で利用できるようになりました。

関連項目