ヘッダーをスキップ

Oracle® Data Provider for .NET開発者ガイド
リリース9.2.0.4

部品番号 B13807-01
Go To Table Of Contents
目次
Go To Index
索引

Go to previous page Go to next page

1
Oracle Data Provider for .NETの概要

この章では、Oracleデータベースのデータ・プロバイダの実装であるOracle Data Provider for .NET(ODP.NET)の概要について説明します。

この章の項目は次のとおりです。

Oracle Data Provider for .NET(ODP.NET)の概要

Oracle Data Provider for .NET(ODP.NET)は、Oracleデータベースのデータ・プロバイダの実装です。

ODP.NETは、Oracle固有のAPIを使用して、あらゆる.NETアプリケーションからOracleのデータおよび機能に高速かつ確実にアクセスできるようにします。また、ODP.NETは、Microsoft .NET Frameworkクラス・ライブラリで使用可能なクラスおよびインタフェースを使用し、継承します。

Oracle Provider for OLE DBを使用しているプログラマには、ActiveX Data Objects(ADO)により、簡単なプログラミング・モデルを公開するオートメーション・レイヤーが提供されます。ADO.NETでも同様のプログラミング・モデルが提供されますが、パフォーマンスをよくするためにオートメーション・レイヤーは使用されていません。さらに重要なのは、ADO.NETモデルでは、ODP.NETなどのシステム固有のプロバイダでOracle固有の機能およびデータ型を公開できるという点です。

ODP.NETアセンブリ

Oracle.DataAccesss.dllアセンブリでは、次の2つのネームスペースが提供されます。

Oracle.DataAccess.Clientクラスおよび列挙体

このネームスペースはOracle Data Provider for .NET(ODP.NET)です。

表1-1に、クライアント・クラスをリストします。

表1-1 Oracle.DataAccess.Clientクラス
クラス 説明

OracleCommandクラス

OracleCommandオブジェクトは、SQLコマンド、ストアド・プロシージャまたは表の名前を表します。

OracleCommandBuilderクラス

OracleCommandBuilderオブジェクトは、データベースが更新されたときにOracleDataAdapterに対する自動SQL生成を行います。

OracleConnectionクラス

OracleConnectionオブジェクトは、Oracleデータベースへの接続を表します。

OracleDataAdapterクラス

OracleDataAdapterオブジェクトは、DataSetと通信するデータ・プロバイダ・オブジェクトを表します。

OracleDataReaderクラス

OracleDataReaderオブジェクトは、順方向のみ、かつ読取り専用のメモリー内の結果セットを表します。

OracleErrorクラス

OracleErrorオブジェクトは、Oracleデータベースで報告されたエラーを表します。

OracleErrorCollectionクラス

OracleErrorCollectionオブジェクトは、OracleErrorの集合を表します。

OracleExceptionクラス

OracleExceptionオブジェクトは、Oracle Data Provider for .NETでエラーが発生した場合にスローされる例外を表します。

OracleFailoverEventArgsクラス

OracleFailoverEventArgsオブジェクトは、OracleConnection.Failoverイベントに対するイベント・データを提供します。

OracleFailoverEventHandlerデリゲート

OracleFailoverEventHandlerデリゲートは、OracleConnection.Failoverイベントを処理するメソッドのシグネチャを表します。

OracleGlobalizationクラス

OracleGlobalizationクラスは、セッション、スレッドおよびローカル・コンピュータ(読取り専用)のOracleグローバリゼーション設定を取得および設定するために使用されます。

OracleInfoMessageEventHandlerデリゲート

OracleInfoMessageEventHandlerデリゲートは、OracleConnection.InfoMessageイベントを処理するメソッドのシグネチャを表します。

OracleInfoMessageEventArgsクラス

OracleInfoMessageEventArgsオブジェクトは、OracleConnection.InfoMessageイベントに対するイベント・データを提供します。

OracleParameterクラス

OracleParameterオブジェクトは、OracleCommandのパラメータを表します。

OracleParameterCollectionクラス

OracleParameterCollectionオブジェクトは、OracleParameterの集合を表します。

OracleRowUpdatedEventArgsクラス

OracleRowUpdatedEventArgsオブジェクトは、OracleDataAdapter.RowUpdatedイベントに対するイベント・データを提供します。

OracleRowUpdatedEventHandlerデリゲート

OracleRowUpdatedEventHandlerデリゲートは、OracleDataAdapter.RowUpdatedイベントを処理するメソッドのシグネチャを表します。

OracleRowUpdatingEventArgsクラス

OracleRowUpdatingEventArgsオブジェクトは、OracleDataAdapter.RowUpdatingイベントに対するイベント・データを提供します。

OracleRowUpdatingEventHandlerデリゲート

OracleRowUpdatingEventHandlerデリゲートは、OracleDataAdapter.RowUpdatingイベントを処理するメソッドのシグネチャを表します。

OracleTransactionクラス

OracleTransactionオブジェクトは、ローカル・トランザクションを表します。

OracleXmlQueryPropertiesクラス

OracleXmlQueryPropertiesオブジェクトは、XmlCommandTypeプロパティがQueryのときにOracleCommandクラスによって使用されるXMLプロパティを表します。

OracleXmlSavePropertiesクラス

OracleXmlSavePropertiesオブジェクトは、XmlCommandTypeプロパティがInsertUpdateまたはDeleteのときにOracleCommandクラスによって使用されるXMLプロパティを表します。

表1-2に、クライアント列挙体をリストします。

表1-2 Oracle.DataAccess.Client列挙体
列挙体 説明

FailoverEvent列挙体

FailoverEvent列挙値は、フェイルオーバーの状態を明示的に指定するために使用されます。

FailoverReturnCode列挙体

FailoverReturnCode列挙値はアプリケーションからODP.NETプロバイダに返され、フェイルオーバーがエラーの場合には再試行を、成功した場合には継続を要求します。

FailoverType列挙体

FailoverType列挙値は、呼び出されたフェイルオーバー・イベントのタイプを示すために使用されます。

OracleDbType列挙体

OracleDbType列挙値は、OracleParameterOracleDbTypeを明示的に指定するために使用されます。

OracleParameterStatus列挙体

OracleParameterStatus列挙型は、列からnull値がフェッチされるかどうか、フェッチ中に切捨てが発生したかどうか、またはnull値がデータベース列に挿入されるかどうかを示します。

OracleXmlCommandType列挙体

OracleXmlCommandType列挙体は、OracleCommandOracleXmlCommandTypeプロパティに使用可能な値を指定します。

Oracle.DataAccess.Typesのクラスおよび構造体

Oracle.DataAccess.Typesネームスペースでは、Oracle Data Provider for .NETで使用できるOracle固有の型のクラスおよび構造体が提供されます。

表1-3に、型の構造体をリストします。

表1-3 Oracle.DataAccess.Types構造体
構造体 説明

OracleBinary構造体

OracleBinary構造体は、可変長ストリームのバイナリ・データを表します。

OracleDate構造体

OracleDate構造体は、OracleのDATEデータ型を表します。

OracleDecimal構造体

OracleDecimal構造体は、データベース内のOracleのNUMBERまたは任意のOracleの数値を表します。

OracleIntervalDS構造体

OracleIntervalDS構造体は、OracleのINTERVAL DAY TO SECONDデータ型を表します。

OracleIntervalYM構造体

OracleIntervalYM構造体は、OracleのINTERVAL YEAR TO MONTHデータ型を表します。

OracleString構造体

OracleString構造体は、可変長ストリームの文字を表します。

OracleTimeStamp構造体

OracleTimeStamp構造体は、OracleのTIMESTAMPデータ型を表します。

OracleTimeStampLTZ構造体

OracleTimeStampLTZ構造体は、OracleのTIMESTAMP WITH LOCAL TIME ZONEデータ型を表します。

OracleTimeStampTZ構造体

OracleTimeStampTZ構造体は、OracleのTIMESTAMP WITH TIME ZONEデータ型を表します。

型の例外は、ODP.NET型の構造体によってのみスローされます。表1-4に、型の例外をリストします。

表1-4 Oracle.DataAccess.Types例外
例外 説明

OracleTypeExceptionクラス

OracleTypeExceptionオブジェクトは、ODP.NET型のクラスで発生した例外を処理するためのベース例外クラスです。

OracleNullValueExceptionクラス

OracleNullValueExceptionは、nullであるODP.NET型の構造体にアクセスしようとするとスローされる例外を表します。

OracleTruncateExceptionクラス

OracleTruncateExceptionクラスは、ODP.NET型のクラス内で切捨てが行われた場合にスローされる例外を表します。

表1-5に、型のクラスをリストします。

表1-5 Oracle.DataAccess.Typesクラス
クラス 説明

OracleBFileクラス

OracleBFileは、BFILEデータへの参照を持つオブジェクトです。このオブジェクトにより、BFileに対する操作を実行するためのメソッドが提供されます。

OracleBlobクラス

OracleBlobオブジェクトは、BLOBデータへの参照を持つオブジェクトです。このオブジェクトにより、BLOBに対する操作を実行するためのメソッドが提供されます。

OracleClobクラス

OracleClobは、CLOBデータへの参照を持つオブジェクトです。このオブジェクトにより、CLOBに対する操作を実行するためのメソッドが提供されます。

OracleRefCursorクラス

OracleRefCursorオブジェクトは、OracleのREF CURSORを表します。

OracleXmlStreamクラス

OracleXmlStreamオブジェクトは、OracleXmlTypeオブジェクトに格納されている、順次読取り専用のXMLデータのストリームを表します。

OracleXmlTypeクラス

OracleXmlTypeオブジェクトは、OracleのXmlTypeインスタンスを表します。

単純なアプリケーションでのODP.NETの使用

次に示すのは、Oracleデータベースに接続して、切断前にそのバージョン番号を表示するという非常に単純なC#アプリケーションです。

using System;
using Oracle.DataAccess.Client;

class Example
{
  OracleConnection con;

  void Connect()
  {
    con = new OracleConnection();
    con.ConnectionString = "User Id=scott;Password=tiger;Data Source=oracle";
    con.Open();
    Console.WriteLine("Connected to Oracle" + con.ServerVersion);
  }

  void Close()
  {
    con.Close();
    con.Dispose();
  }

  static void Main()
  {
    Example example = new Example();
    example.Connect();
    example.Close();
  }
}


注意:

%ORACLE_HOME%\ODP.NET\Samplesディレクトリに、別のサンプルが提供されます。



Go to previous page Go to next page
Oracle
Copyright © 2002, 2003 Oracle Corporation.

All Rights Reserved.
Go To Table Of Contents
目次
Go To Index
索引