特集:効率的なデータベース開発の実践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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |
- - PR -