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とのXMLTypeデータの使用
データベースから.NETにXMLType
データを渡す例を示します。
親トピック: XMLType API
15.1 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
を拡張します。
15.2 ODP.NETとのXMLTypeデータの使用
データベースから.NETにXMLType
データを渡す例を示します。
例15-1では、データベースから.NETにXMLType
データが取り出され、結果が出力されます。
関連項目:
Oracle XML DBに対するOracle .NETサポートの詳細は、Oracle Data Provider for .NET開発者ガイドfor Microsoft Windowsを参照してください。
例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);