VSTO Web サービス連携 その2

前回は VS で Web サービスを作成するところをご紹介いたしましたが、

今回はデータベース接続連携をおこなう Web サービスを作成したいと思います。

準備するデータベースは Adventure Works サンプルデータベースを用意してください。

※できれば、SQL Server Standard Edition 以上で。

ここでは、SQL Server 2005 Standard Edition を利用しています。

2. データを取得する Web サービスの作成

ここでは、データセット項目を利用して、データ接続ウィザードから、ビューのデータを取得し、データセットに格納する方法を取りたいと思います。

手順:

1. まず、前回作成した Web サービスのソリューションを利用しますので、ソリューションを開いてください。

image_thumb9

2. 次に [Web サイト]-[新しい項目の追加]-[データセット]を選択します。

image_thumb12

3. ソリューションの DataSet1.xsd を選択して、デザイナ画面の右クリックで[追加]-[TableAdapter]を選択します。

image_thumb14

4. TableAdapter 接続ウィザードが起動しますので、[新しい接続]で[Adventure Works]を選択します。

image_thumb20

5.[接続文字列をアプリケーション構成ファイルに保存する]をそのまま[次へ]を選択する。

image_thumb18

6. [コマンドの種類を選択します]で、[SQL ステートメントを使用する]を選択し、[次へ]をクリックします。

image_thumb22

7. [SQL ステートメントの入力] で [クエリ ビルダ]をクリックします。

image_thumb25

8.[テーブルの追加] 画面で [ビュー] から、任意のビューを選択し、[追加] ボタンをクリックします。

※ここでは、"vAddtionalCOntactInfo(Person)" を選択しています。

image_thumb26

9. クエリビルダの列の選択で任意の列を選択し、[OK]をクリックします。

※ここでは、"Contact"、"FirstName"、"LastName"、"TelephoneNumber"、"TelephoneSpecialInstructions" を選択しています。

image_thumb28

10. [生成するメソッドの選択]では、既定のまま、[完了]を選択します。

image_thumb30

11. 追加したデータセットのデータベース情報を Web 上に表示する構文を記載します。

 image_thumb39

ソリューションエクスプローラーで Service.vb を選択し、右クリックで [コードの表示]を選択します。

※ Hello World Function の下に以下の構文を記載します。

<WebMethod()> _
Public Function ContactInfo() As DataSet1
    Dim contact As New DataSet1
    Dim ta As New DataSet1TableAdapters.vAdditionalContactInfoTableAdapter
    ta.Fill(contact.vAdditionalContactInfo)
    Return contact
End Function

12. デバッグを開始します。

Service Web サービス "ContactInfo" というに項目が追加されているのが確認できるかと思いますので、クリックします。

image_thumb40

13. 画面が変わり、[起動] ボタンが表示されますので、クリックします。

image_thumb41

14. 下記のデータベースのビューから取得した XML データが返ってきます。

image_thumb43

このように、VS を利用することで簡単にデータベースにアクセスでき、そのデータを Web サービスとして利用することができます。

次回は作成したデータ連携 Web サービスを VSTO で作成した Excel に読み込む手法をご紹介いたします。

ご期待ください!