VSTO Web サービス連携 その2
前回は VS で Web サービスを作成するところをご紹介いたしましたが、
今回はデータベース接続連携をおこなう Web サービスを作成したいと思います。
準備するデータベースは Adventure Works サンプルデータベースを用意してください。
※できれば、SQL Server Standard Edition 以上で。
ここでは、SQL Server 2005 Standard Edition を利用しています。
2. データを取得する Web サービスの作成
ここでは、データセット項目を利用して、データ接続ウィザードから、ビューのデータを取得し、データセットに格納する方法を取りたいと思います。
手順:
1. まず、前回作成した Web サービスのソリューションを利用しますので、ソリューションを開いてください。
2. 次に [Web サイト]-[新しい項目の追加]-[データセット]を選択します。
3. ソリューションの DataSet1.xsd を選択して、デザイナ画面の右クリックで[追加]-[TableAdapter]を選択します。
4. TableAdapter 接続ウィザードが起動しますので、[新しい接続]で[Adventure Works]を選択します。
5.[接続文字列をアプリケーション構成ファイルに保存する]をそのまま[次へ]を選択する。
6. [コマンドの種類を選択します]で、[SQL ステートメントを使用する]を選択し、[次へ]をクリックします。
7. [SQL ステートメントの入力] で [クエリ ビルダ]をクリックします。
8.[テーブルの追加] 画面で [ビュー] から、任意のビューを選択し、[追加] ボタンをクリックします。
※ここでは、"vAddtionalCOntactInfo(Person)" を選択しています。
9. クエリビルダの列の選択で任意の列を選択し、[OK]をクリックします。
※ここでは、"Contact"、"FirstName"、"LastName"、"TelephoneNumber"、"TelephoneSpecialInstructions" を選択しています。
10. [生成するメソッドの選択]では、既定のまま、[完了]を選択します。
11. 追加したデータセットのデータベース情報を Web 上に表示する構文を記載します。
ソリューションエクスプローラーで 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" というに項目が追加されているのが確認できるかと思いますので、クリックします。
13. 画面が変わり、[起動] ボタンが表示されますので、クリックします。
14. 下記のデータベースのビューから取得した XML データが返ってきます。
このように、VS を利用することで簡単にデータベースにアクセスでき、そのデータを Web サービスとして利用することができます。
次回は作成したデータ連携 Web サービスを VSTO で作成した Excel に読み込む手法をご紹介いたします。
ご期待ください!