SQL Server テーブルに基づく外部コンテンツ タイプを作成する
最終更新日: 2010年8月10日
適用対象: SharePoint Server 2010
Microsoft Business Connectivity Services (BCS) を使用すると、Microsoft SQL Server に接続する外部コンテンツ タイプの作成が非常に簡単になります。Microsoft SharePoint Designer 2010 の外部のコンテンツ タイプ デザイナーでは、Microsoft SQL Server データベースがサポートされます。単に、データベースを検索し、必要な操作を実行して必要なデータを返すテーブル、ビュー、またはストアド プロシージャをポイントし、返されたデータを使用するだけで、コードまたは XML を記述せずに外部コンテンツ タイプを作成できます。
このトピックでは、Northwind SQL Server 2000 サンプル データベース内にある顧客テーブルに基づく顧客という名前の外部コンテンツ タイプを作成する方法について説明します。
前提条件
手順を簡単にするには、SharePoint Server を実行するサーバーにインストールされた Microsoft SQL Server 2005 以降が必要です。Microsoft SQL Server が別のコンピューターにインストールされている場合、Secure Store Service の構成が必要になります。詳細については、「[方法] 外部システムに接続するために Secure Store Service を使用する」を参照してください。
Microsoft SQL Server を実行中のサーバーにインストールされた Northwind SQL Server 2000 データベース。
クライアント コンピューターにインストールされた Microsoft SharePoint Designer 2010。
SQL Server テーブルに基づいて外部コンテンツ タイプを作成する
SharePoint Designer 2010 では、外部のコンテンツ タイプ デザイナーを使用して外部コンテンツ タイプを作成するとき、SharePoint サイトが (外部リストなどの) 生成されたファイルと成果物を保存する必要があります。このため、最初の手順として、外部コンテンツ タイプの成果物を保存してクライアントの SharePoint Designer でそれを開くために、SharePoint Server を実行中のサーバーに SharePoint サイトを作成する必要があります。
SharePoint Designer で、SharePoint サイトを作成し開くには
SharePoint Server を実行するサーバーを参照し、新しい Web サイトを作成します。
新しい Web サイトの URL を http:// yourservername/sdksamples として入力します。
任意のサイト テンプレート ([空のサイト] など) を選択します。
[OK] をクリックして、サイトを作成します。
クライアント コンピューターで、SharePoint Designer を開始し、作成したサイトを開きます。サイトは、SharePoint Designer のメイン ウィンドウに開きます。
新しいナビゲーション ウィンドウが SharePoint Designer に表示されます。このウィンドウは、SharePoint Designer で作成と編集ができるすべての SharePoint オブジェクト (リストとライブラリ、外部コンテンツ タイプ、マスター ページ、ワークフローなど) が収容されるように設計されています。
一般的な外部コンテンツ タイプ設定を定義するには
外部コンテンツ タイプを作成するには、[外部コンテンツ タイプ] をクリックして開始します。
次の図のように、[リボン] で、[外部コンテンツ タイプ] ボタンをクリックします。これにより、外部コンテンツ タイプを作成するための外部のコンテンツ タイプ デザイナーが表示されます。
新しい外部コンテンツ タイプのページで、次の図のように、[名前]、[表示名]、[名前空間]、および [Office 項目の種類] を指定します。ここで選択する Office 項目の種類によって、外部コンテンツ タイプに接続する Outlook の動作が決まります。この例では、顧客外部コンテンツ タイプは、Outlook でオフラインになったときに、ネイティブの連絡先アイテムのように動作します。[外部リストへのオフライン同期] フィールドでは、この外部コンテンツ タイプに基づく外部リストを、ユーザーが Microsoft Outlook または SharePoint Workspace でオフラインにできるかどうかが決まります。この例では、既定の [有効] 設定を受け入れます。
外部システムへの接続を追加するには
外部コンテンツ タイプのためのデータ ソースを指定するには、[ここをクリックして、外部データソースの検出と操作の定義を行います。] をクリックします。
[接続の追加] ボタンをクリックし、[外部データ ソースの種類の選択] ダイアログ ボックスで [SQL Server] を選択して、[OK] をクリックします。
次の図のように、[SQL Server 接続] ダイアログボックスで、SQL Server の名前を指定し、以下の図のようにデータベース名として「Northwind」を入力して、[OK] をクリックします。
前述の手順で指定した SQL Server を実行するサーバーへの接続が検証されると、データ ソース エクスプローラーに Northwind データベースのデータベース オブジェクトが表示されます。データベースを展開して、そのデータベースに含まれるテーブル、ビュー、およびストアド プロシージャを表示します。この例では、顧客テーブルを選択します。
これで、顧客外部コンテンツ タイプで実行できる操作を定義できます。
サポートされる操作およびそのパラメーターとフィルターを定義するには
必要な操作を実行する外部システムに対するメソッドとそのパラメーターを定義する必要があります。SQL Server データベース テーブルについては、この作業は非常に簡単です。SharePoint Designer では、基本のメソッドを自動生成できるためです。この例では、顧客外部コンテンツ タイプに対するすべての基本操作を作成します。その基本操作とは、作成、アイテムの読み取り、更新、削除、およびリストの読み取りです。
データ ソース エクスプローラーで、顧客テーブルを右クリックし、次の図のように、[すべての操作を作成] をクリックします。これにより、Northwind データベースの顧客テーブルのレコードに対して作成、削除、読み取り、および更新を行うメソッドが自動生成されます。これで、顧客テーブルから公開する列を選択し、パラメーターを定義できます。
注意
すべての基本操作を自動生成する代わりに、ショートカット メニューのさまざまなオプションを使用して、操作を個別に作成することもできます。すべての基本操作をユーザーに実行させないようにする場合や、データベースが特定の操作をサポートしない場合、データベース テーブルに対する操作を個別に作成できます。また、[すべての操作を作成] コマンドは、SQL Server のテーブルとビューに対してのみ使用できます。複数のテーブルにわたるビューでは、書き込み操作がサポートされるようにします。そうでない場合、[すべての操作を作成] が失敗します。SQL Server テーブル (およびビュー) 以外のデータ ソース (Web サービスや SQL Server のストアド プロシージャ) では、SharePoint Designer で、各操作を別々に作成する必要があります。
次に、公開する列、操作の入力パラメーターと戻り値パラメーター、およびフィルター パラメーターを選択します。
パラメーターを構成するには、[次へ] をクリックします。[パラメーター構成] ダイアログ ボックスに、顧客テーブルのすべての列が表示されます。既定で、すべての列が選択されています。必ずしもすべての列が必要でない場合、不必要な列を選択解除します。この例では、既定を受け入れます。
CustomerID は、現在選択されているフィールドです。更新フォームでは、ユーザーに CustomerID を入力させないようにします。したがって、[必須] チェック ボックスをオフにします。ただし、[読み取り専用] チェック ボックスはオンのままにします。これにより、外部コンテンツ タイプに対する更新機能が有効になります。ID フィールドが読み取り専用に設定されていない場合、外部システム内のアイテムを更新できません。
次に、以下の 2 つの重要な構成を行います。外部コンテンツ タイプが Outlook アイテムの種類にマップされる場合、外部コンテンツ タイプのフィールドを Outlook アイテムのフィールドにマップします。たとえば、Outlook 連絡先アイテムの場合、データベースの FirstName を Office Property フィールドの FirstName にマップすることで、Outlook 連絡先の FirstName 列にマップします。これにより、データベースの FirstName フィールドが Outlook 連絡先アイテムの First Name にマップされ、FirstName フィールドを Outlook 連絡先アイテム フォームの First Name フィールドに表示できます。この例では、まず、次の図のように、ContactName を FullName フィールドにマップします。次に、Address、Phone、Fax フィールドについて、この手順を繰り返します。
フィールドごとに、そのフィールドを外部コンテンツ タイプの選択で使用できるようにする必要があるかどうかを決定します。フィールドを外部コンテンツ タイプの選択で使用できるようにする必要がある場合、フィールドを選択し、[ピッカーに表示] チェック ボックスをオンにします。この例では、ContactName および Company Name フィールドの [ピッカーに表示] チェック ボックスをオンにします。
操作が完了したら、[次へ] をクリックします。
[フィルター パラメーター構成] ダイアログで、データのフィルターを定義します。フィルターを使用すると、外部データ ソースの操作から返される外部アイテム (行) を制限できます。常に制限フィルターを追加して、読み取り操作時に外部システムから返される行の数を制限することを強くお勧めします。これを行うには、[フィルター パラメーターの追加] をクリックします。[プロパティ] ウィンドウで、[(クリックして追加)] をクリックします。[フィルターの構成] ダイアログ ボックスで、新しいフィルターに LimitFilter という名前を付けます。[フィルターの種類] フィールドで、[制限] を選択します。次に、[OK] をクリックします。
[既定値] フィールドに、データベースから返される行の数として、「1000」を入力します。これにより、操作によって返される行の数が 1,000 行のみに制限されます。[次へ] をクリックします。
注意
制限フィルターに対して入力する既定値は、必ず 2,000 未満としてください。2,000 行を超えるデータベース接続の場合、Business Data Connectivity (BDC) service では結果が調整されるため、外部システムからデータが返されません。2,000 を超える行を返す必要がある場合、管理者は、サーバーで既定の調整数を増加する必要があります。調整制限の詳細およびその増加方法については、TechNet で「管理者ガイド」を確認してください。
[完了] をクリックします。これにより、次の図のように、すべての基本操作が生成されます。
[リボン] の [保存] ボタンをクリックして、外部コンテンツ タイプの定義を、SharePoint Server を実行するサーバーの BDC メタデータ ストアに保管します。これで、外部コンテンツ タイプが正常に作成されました。
外部コンテンツ タイプは、すべての Office クライアントとサーバー製品で直ちに使用可能になり、Business Connectivity Services のプレゼンテーション機能、および Business Connectivity Services オブジェクト モデルを使用したカスタム ソリューションで使用できます。作成した顧客外部コンテンツ タイプの外部リストを作成する方法については、「[方法] SharePoint で外部リストを作成する」を参照してください。