| 特集:効率的なデータベース開発の実践DBアクセス用のXML Webサービスとは?初音玲2009/02/06 |  | 
|  | |
●DBアクセスXML Webサービスを作成する
(1)ODP.NETの参照設定
今回のDBにはOracle Database 11g Release 1を使用する。よって、ADO.NET相当のODP.NETを使ってプログラムを作成する。ODP.NETでは「Oracle.DataAccess」クラス・ライブラリを使うので、[ソリューション エクスプローラ]でプロジェクトを右クリックしてコンテキスト・メニューの[参照の追加]で参照設定を行う。
(2)利用者認証の実装
まずはAuthサービスを完成させよう。IsLoginメソッドを次の太字部分のコードのように書き換える。
| 
 | |
| ユーザーIDとパスワードでDB認証を行う利用者認証WebメソッドIsLoginの正式実装(Auth.vbファイル) | |
| OracleConnectionクラスの名前空間をインポートするため、「Imports Oracle.DataAccess.Client」をファイルの先頭部分に記述する必要がある。 | 
OracleConnectionオブジェクト(_cn)に接続文字列を設定してOpenメソッドで接続している。接続先についてはWeb.Configの<AppSettings>要素内に、
| <add key="ConnectionString" value="orcl.ora11g.dolis.dfjj.net"/> | 
を定義しており、この定義値を、
| ConfigurationManager.AppSettings("ConnectionString") | 
というコードで取得している。
(3)参照の実装
続いてDbAccessServiceサービスを実装しよう。データ検索Webメソッド(=GetRecordsメソッド)のコードは、次の太字部分のように書き換える。
| 
 | |
| 従業員番号に合致するデータを検索するデータ検索WebメソッドGetRecordsの正式実装(DbAccessService.vbファイル) | |
| OracleConnectionクラスの名前空間をインポートするため、「Imports Oracle.DataAccess.Client」をファイルの先頭部分に記述する必要がある。 | 
データアダプタ(=OracleDataAdapterオブジェクト)のFillメソッドでデータセット(=DataSetオブジェクト)を取得し、これを戻り値として返却している。
(4)更新の実装
最後に、データ更新Webメソッド(=SetRecordsメソッド)のコードを、次の太字部分のように書き換える。
| 
 | |
| 従業員番号に合致するデータを更新するデータ更新WebメソッドSetRecordsの正式実装(DbAccessService.vbファイル) | 
OracleCommandBuilderオブジェクトでSELECT文からUPDATE文、INSERT文、DELETE文を生成して、データアダプタ(=OracleDataAdapterオブジェクト)のUpdateメソッドでOracle Databaseを更新している。
では、もう一度単体テストを実行してみよう。すると、次の画面のようにすべて成功するはずだ。
|  | 
| 図12 テスト成功 | 
以上のDBアクセスXML Webサービスの実装は完了だが、本稿の締めくくりとして、このWebサービスにアクセスする(クライアント側の)Windowsアプリケーションの実装方法を簡単に説明しておこう。
|  |  | 
| INDEX | ||
| [特集]効率的なデータベース開発の実践 | ||
| DBアクセス用のXML Webサービスとは? | ||
| 1.DBアクセス用のXML Webサービス | ||
| 2.XML Webサービスの作成 | ||
| 3.XML Webサービスの単体テストの実行 | ||
| 4.XML WebサービスのWebメソッドへのパラメータの考察 | ||
|  | 5.DBアクセスXML Webサービスを作成する | |
| 6.DBアクセスXML Webサービスを使ってみる | ||
|  | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
 ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
- 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
 Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
- 第1回 明瞭なコーディングのために (2017/7/19)
 C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
- Presentation Translator (2017/7/18)
 Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|  | |
| 
 | |
|  | 

 







