検索
連載

ODP.NETでOracle XML DBを活用するODP.NETファーストステップ(4)(2/4 ページ)

Windowsプラットフォームにおけるアプリケーション開発は、.NETが主流となりつつある。本連載はVisual Basicから.NETへの移行を考えているOracleアプリケーション開発者に向けて、「Oracle Data Provider for .NET」を使うメリットや独自機能、新しいプログラミング・スタイルなどを解説する。(編集局)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

OracleCommandクラスを使用したOracle XML DBへのアクセス

 通常の表に対してOracleCommandクラスを使用してアクセスするように、Oracle XML DBへのアクセスも可能です。まず初めに、テスト用のテーブルを作成します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

「XMLType列を持つ表」と「XMLType表」の2種類を作成できます。「XMLType列を持つ表」は、通常のリレーショナル表で、その表にいくつかのXML文書を格納するための列を持っています。「XMLType表」は、オブジェクト表の1つでXMLType列を1つしか持たない表です。ただし、XMLType列を1つしか持たないリレーショナル表とは異なり、列名を明示する必要がないという特徴を持っています。今回のテスト用テーブルは非構造化ストレージです。XMLスキーマを指定する構造化ストレージに対応するには、Create Table文の最後に、XMLスキーマを指定します。構造化ストレージについては、OTNのXML Technology Centerにて詳細に説明してありますので、そちらを参照してください。

XMLTypeにXML文書を代入

 XMLTypeに対してXML文書を代入するには、OracleXmlTypeオブジェクトを使用し、OracleCommandクラスのParametersプロパティを使用する方法のほかに、OracleCommandクラスで発行するSQL文中にXML文書を直接記述することも可能です。リスト1、リスト2はParametersプロパティを使用した場合のコードです。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

XMLTypeからXML文書を取得

 XMLTypeからXML文書を取得する際にも、OracleXmlTypeオブジェクトを使用します。OracleDataReaderクラスのGetOracleXmlTypeメソッドを使用します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

XMLTypeの更新

 XMLTypeを更新する方法には、OracleXmlTypeオブジェクトのUpdateメソッドを使用する方法と、.NET Frameworkで提供されているXmlDocumentクラスにXML文書を格納してから更新する方法の2つがあります。OracleXmlTypeオブジェクトのUpdateメソッドを使用する場合、以下のようなコードになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 XmlDocumentクラスにXML文書を格納してから更新する場合、以下のようなコードになります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

次ページへ続く)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る