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を使用する方法について説明します。内容は次のとおりです。
ODP.NETでは、Oracle XML DBを介して、データベースでXMLがネイティブにサポートされます。ODP.NETのXMLサポートには次の機能があります。
XMLデータをXMLType
としてOracle Databaseにネイティブに格納します。
Oracle DatabaseからMicrosoftの.NET環境まで、リレーショナル・データおよびオブジェクト・リレーショナル・データにXMLデータとしてアクセスし、Microsoftの.NET Frameworkを使用してXMLを処理します。
XMLデータを使用して、変更内容をデータベース・サーバーに保存します。
これらの機能には、.NETアプリケーション開発者用に次の拡張機能が含まれています。
OracleCommand
、OracleConnection
およびOracleDataReader
クラスの拡張。次のXML固有のクラスが提供されます。
OracleXmlType
OracleXmlStream
OracleXmlQueryProperties
OracleXmlSaveProperties
例17-1では、データベースから.NETにXMLType
データが取り出され、結果が出力されます。
例17-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);
関連項目: Oracle XML DBに対するOracle .NETサポートの詳細は、『Oracle Data Provider for .NET開発者ガイド』を参照してください。 |