15 Oracle XML DBおよびOracle Data Provider for .NET
Oracle Data Provider for Microsoft .NET (ODP.NET)は、Oracle Databaseに対するデータ・プロバイダの実装です。ODP.NETは、Oracle固有のAPIを使用して、すべての.NETアプリケーションからOracleのデータおよび機能への迅速で信頼性の高いアクセスを提供します。
また、ODP.NETは、Microsoft .NET Framework Class Libraryで入手可能なクラスおよびインタフェースを使用し、継承します。ODP.NETでは、.NETのネイティブLOBデータ型として、BLOB
、CLOB
、NCLOB
およびBFILE
がサポートされます。
Oracle XML DBとODP.NET XML
ODP.NETでは、Oracle XML DBを介して、データベースでXMLデータがネイティブにサポートされます。
ODP.NET:
-
XMLデータを
XMLType
としてOracle Databaseにネイティブに格納します。 -
Oracle DatabaseからMicrosoftの.NET環境まで、リレーショナル・データおよびオブジェクト・リレーショナル・データにXMLデータとしてアクセスし、Microsoftの.NET Frameworkを使用してXMLを処理します。
-
XMLデータを使用して、変更内容をデータベース・サーバーに保存します。
-
次のXML固有のクラスが提供されます。
-
OracleXmlType
-
OracleXmlStream
-
OracleXmlQueryProperties
-
OracleXmlSaveProperties
-
-
クラス
OracleCommand
、OracleConnection
およびOracleDataReader
を拡張します。
ODP.NETとのXMLTypeデータの使用
データベースから.NETにXMLType
データを渡す例を示します。
例15-1では、データベースから.NETにXMLType
データが取り出され、結果が出力されます。
関連項目:
Oracle XML DBに対するOracle .NETサポートの詳細は、Oracle Data Provider for .NET開発者ガイドを参照してください。
例15-1 .NETへのXMLTypeデータの取出し
//Create OracleCommand and query XMLType
OracleCommand xmlCmd = new OracleCommand();
poCmd.CommandText = "SELECT po FROM po_tab";
poCmd.Connection = conn;
// Execute OracleCommand and output XML results to an OracleDataReader
OracleDataReader poReader = poCmd.ExecuteReader();
// ODP.NET native XML data type object from Oracle XML DB
OracleXmlType poXml;
string str = ""; //read XML results
while (poReader.Read())
{
// Return OracleXmlType object of the specified XmlType column
poXml = poReader.GetOracleXmlType(0);
// Concatenate output for all the records
str = str + poXml.Value;
} //Output XML results to the screen
Console.WriteLine(str);