Oracle Data Provider for Microsoft .NET (ODP.NET) is an implementation of a data provider for Oracle Database. It uses Oracle native APIs to offer fast and reliable access to Oracle data and features from any .NET application. It also uses and inherits classes and interfaces available in the Microsoft .NET Framework Class Library. ODP.NET supports the following LOB datatypes natively with .NET: BLOB
, CLOB
, NCLOB
, and BFILE
.
This chapter describes how to use ODP.NET with Oracle XML DB. It contains these topics:
ODP.NET supports XML natively in the database, through Oracle XML DB. ODP.NET XML support includes the following features:
Stores XML data natively in Oracle Database as XMLType
.
Accesses relational and object-relational data as XML data from Oracle Database to a Microsoft .NET environment, and processes the XML using Microsoft .NET framework.
Saves changes to the database server using XML data.
For the .NET application developer, these features include the following:
Enhancements to the OracleCommand
, OracleConnection
, and OracleDataReader
classes. Provides the following XML-specific classes:
OracleXmlType
OracleXmlStream
OracleXmlQueryProperties
OracleXmlSaveProperties
Example 15-1 retrieves XMLType
data from the database to .NET and outputs the results:
Example 15-1 Retrieve XMLType Data to .NET
//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);
See Also:
Oracle Data Provider for .NET Developer's Guide for complete information about Oracle .NET support for Oracle XML DB.