Oracle® Data Provider for .NET

Oracle TimesTen In-Memory Databaseサポート・ユーザーズ・ガイド

11gリリース2(11.2)for Windows

B66728-04(原本部品番号:E21641-05)

2014年6月

Oracle Data Provider for .NET(ODP.NET)は、Microsoft ADO.NETインタフェースの実装です。Oracle TimesTen In-Memory Database(TimesTen)に対するODP.NETサポートによって、.NETクライアント・アプリケーションからTimesTenデータベースへの、高速および効率的なADO.NETデータ・アクセスが提供されます。

このドキュメントでは、TimesTen環境でのODP.NETの使用に特有の側面についてのみ説明します。また、ODP.NET for TimesTenという用語はTimesTenをサポートするODP.NETという意味で使用します。

ODP.NETと関連APIに関する情報については、『Oracle Data Provider for .NET開発者ガイド』を参照してください。

ODP.NETは、次のいずれのTimesTenインストールでも使用できます。

- TimesTen Data Managerのみ(直接接続用)

- TimesTen Clientのみ(TimesTen Data ManagerインスタンスおよびTimesTen Serverインスタンスへは他からアクセスすることが前提の、クライアント/サーバー接続用)

- TimesTen ServerおよびTimesTen ClientとTimesTen Data Manager(直接接続またはクライアント/サーバー接続のいずれか用)

このドキュメントでは、TimesTen環境でODP.NETを使用する方法について、次の内容で説明します。

- TimesTen環境におけるODP.NETに関する最初の考慮事項

- ODP.NETの開始

- ODP.NETアプリケーション用のTimesTen接続の設定

- TimesTenでのODP.NETインストールのテスト

- TimesTenにおけるODP.NETデプロイ時の考慮事項

- TimesTenでのODP.NETネームスペースおよびクラスのサポート状況

このドキュメントの最後には、「ドキュメントのアクセシビリティについて」の項もあります。

TimesTen環境におけるODP.NETに関する最初の考慮事項

この項では、TimesTenでODP.NETを使用する前に認識おく必要のある事項について、次の内容で説明します。

- ODP.NETでサポートされる環境およびTimesTenリリース

- .NET関連の機能のサポート

- TimesTenでODP.NETを使用する際の要件および前提条件

- 関連ドキュメント

ODP.NETでサポートされる環境およびTimesTenリリース

今回のドキュメントの変更はODP.NET 11.2.0.3.0リリース向けであり、このリリースは、ODP.NETをTimesTen 11.2.2リリースで使用するための最小リリースです。(TimesTen 11.2.1リリースをサポートするODP.NETの最小リリースは、11.2.0.2.0です)。

次の点に注意してください。

- ODP.NET 11.2.0.3.0(対応するOracle Databaseパッチ・セットまたはOracle Data Access Components(ODAC)リリースに含まれる)では、特に「TimesTenでのODP.NETネームスペースおよびクラスのサポート状況」で説明している機能が、TimesTen 11.2.1(11.2.1.6.1以上)および11.2.2リリースでサポートされています。

- ODP.NET for TimesTenは、TimesTenをサポートするすべてのMicrosoft Windows 32ビットおよび64ビット・プラットフォームで使用できます。ODP.NETの32ビット・バージョンは、TimesTenデータベースまたはTimesTen Clientの32ビット・インスタンスで使用する必要があります。同様に、ODP.NETの64ビット・バージョンは、TimesTenデータベースまたはTimesTen Clientの64ビット・インスタンスで使用する必要があります。

- このリリースの時点で、ODP.NET for TimesTenを使用できるのは次の環境です。

- ODP.NET for .NET Framework 2.0 (Microsoft .NET Framework 3.5 SP 1以降の環境)

- ODP.NET for .NET Framework 4 (Microsoft .NET Framework 4または4.5の環境)

注意:
TimesTenリリース11.2.1.8.0以上をお薦めします。

.NET関連の機能のサポート

ODP.NET for TimesTenでは、ODP.NET for Oracle Databaseで現在利用可能な機能のサブセットがサポートされています。このリリースの時点で、具体的には次の機能がサポートされています。

- ODP.NET接続のプーリング

- ODP.NETのトレース

現時点では、次の機能はODP.NET for TimesTenでサポートされていません。

- ADO.NET Entity Frameworkオブジェクト・リレーショナル・マッパー

- LINQ(言語統合問合せ)

現時点では、ODP.NET for TimesTenは、次のOracle Databaseクライアント・コンポーネントと相互運用できません。

- Oracle Developer Tools for Visual Studio

- Oracle Database Extensions for .NET

- Oracle Providers for ASP.NET

TimesTenでODP.NETを使用する際の要件および前提条件

TimesTenでODP.NETを使用する際には、次の要件があることに注意してください。

- システムにTimesTen Data ManagerまたはTimesTen Clientをインストールする必要があります。TimesTenは、ODP.NETやOCIに付属するものではありません。

- PL/SQLがインストールされ、有効にされている必要があります。PL/SQLはTimesTenのインストールの際にデフォルトでインストールされます。これはデフォルトで有効になりますが、接続属性設定でPLSQL=1とするか、またはODBC Data Source Administratorを使用することでも有効にできます。

- ODP.NET 11.2 for TimesTenは、TimesTen用のOracle Call Interface (OCI)サポートに依存し、TimesTenで提供されるバージョンではなく、ODP.NET 11.2リリースで提供されるOCIのバージョンを必要とします。
「インストール後のパスに関する考慮事項」も参照してください。

注意:

- 参考までに、TimesTenに含まれるOCIのバージョンは、tt_install_dir\ttoracle_homeディレクトリ(tt_install_dirはTimesTenインストールのルート・ディレクトリ)の下にあります。このバージョンは、ODP.NETアプリケーションには使用しないでください。

- もちろん、ODP.NETを使用しないOCIまたはPro*C/C++プログラムでは、OCIのTimesTenバージョンは問題なく使用できます。

- Oracle DatabaseでODP.NETを使用する実行環境の要件は、TimesTenでODP.NETを使用する場合にも該当します。詳細は、『Oracle Data Provider for .NET開発者ガイド』を参照してください。

関連ドキュメント

前述のいくつかの説明では、Oracle TimesTen In-Memory DatabaseおよびOracle Databaseドキュメント・ライブラリのドキュメントについて言及しています。

TimesTenのドキュメントは、製品の配布メディアおよび次のURLのOracle Technology Networkで入手できます。

http://www.oracle.com/technetwork/database/database-technologies/timesten/documentation/index.html

Oracleのドキュメントは、Oracle Technology Networkの次の場所でも入手できます。

http://www.oracle.com/pls/db112/homepage

ODP.NETの開始

この項では、ODP.NETの使用を開始する際に役立つ次の項目について説明します。インストール手順は、TimesTenに固有のものではないことに注意してください。

- ODP.NETのインストール

- インストール後のパスに関する考慮事項

- ODP.NETのアンインストール

- ODP.NET用のアプリケーションの構築

ODP.NETのインストール

この項では、次のインストールについて説明します。

- Oracle Database 11.2パッチ・セットの一部としてのODP.NETのインストール

- ODAC 11.2 for Windows(OUIバージョン)の一部としてのODP.NETのインストール

- ODAC 11.2 for Windows(XCopyバージョン)の一部としてのODP.NETのインストール

ODP.NETのインストール手順は、TimesTen環境からは独立しています。TimesTenのインストール・ディレクトリには何もインストールされません。

関連するWindowsのレジストリ・エントリを含むODP.NETのインストールの詳細は、『Oracle Data Provider for .NET開発者ガイド』を参照してください。

重要:

- 次のインストールに関する項では、Oracle DatabaseとODACバージョン11.2を包括的に説明していますが、TimesTen 11.2.1リリースをサポートするODP.NETの最小バージョンは、11.2.0.2.0であることに注意してください。また、TimesTen 11.2.2リリースをサポートするODP.NETの最小バージョンは、11.2.0.3.0です。

- TimesTenでODP.NETを使用するには、ODP.NETをTimesTen Data ManagerまたはTimesTen Clientと同じシステムにインストールする必要があります。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』のTimesTenのインストールに関する説明を参照してください。さらに、TimesTen DSNを構成する必要があります。DSNの設定については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースを識別するためのデータ・ソース名の識別方法に関する説明を参照してください。

- 新しいバージョンのODP.NETをインストールする前に、以前のバージョンを削除することをお薦めします(ただし、必須ではありません)。

- インストール手順の完了後のODP.NETバイナリの場所は、Oracle製品のインストールのタイプおよび.NETのバージョンによって異なります。詳細は、『Oracle Data Provider for .NET開発者ガイド』とODP.NETのREADMEファイルを参照してください。

Oracle Database 11.2パッチ・セットの一部としてのODP.NETのインストール

ODP.NETをOracle Database 11.2のパッチ・セットの一部としてインストールするには、次の手順を実行します。

このインストールでは、すべてのOracle Database環境での場合と同様に、Oracle Universal Installer(OUI)を使用します。setup.exeファイル(Disk1)を実行して、次の手順を完了します。

1. 「インストール・タイプの選択」ダイアログで、「ランタイム」オプションを選択し、「次へ」を選択します。
(インストール・オプションには、「Instant Client」、「ランタイム」、「カスタム」、「管理者」の4つがあります。「ランタイム」オプションには、Oracle ClientとODP.NETが含まれます。「Instant Client」オプションにはODP.NETは含まれません。「カスタム」インストールを使用する必要がある場合、ODP.NETのチェックボックスが用意されています。)

2. 表示される「ソフトウェア更新のダウンロード」ダイアログでは、必要に応じて「ソフトウェアの更新のスキップ」オプションを選択できます。完了したら「次へ」を選択します。

3. 表示された「製品言語の選択」ダイアログで、デフォルトの「英語」の言語設定を使用し(または希望の言語を選択し)、「次へ」を選択します。

4. 表示された「インストール場所の指定」ダイアログでは、通常は、Oracleベースのパスおよびソフトウェアの場所にデフォルト値を使用します。または、

1. Oracleベース・パスに、Oracleホームの場所のパスを入力(または参照)します。

2. ソフトウェア・ファイルをインストールする、Oracleホーム下の希望のディレクトリ位置のパスを入力(または参照)します。

重要:
パスにはスペースを含めることはできません。

5. インストーラによって前提条件チェックが実行され、「サマリー」ダイアログが表示されます。「インストール」を選択します。

ODAC 11.2 for Windows(OUIバージョン)の一部としてのODP.NETのインストール

Oracle Data Access Components(ODAC)11.2リリースのOracle Universal Installer(OUI)バージョンの一部としてODP.NETをインストールするには、次の手順を実行します。

OUIインストール用にODAC ZIPファイルを解凍したステージング・ディレクトリにアクセスして、OUIのsetup.exeファイルを実行して、次の手順を実行します。

1. OUIの「ようこそ」ページで、「次へ」を選択します。

2. インストールする製品を選択するページで、「Oracle Data Access Components for Oracle Client 11.2.x.x.x」(適切なポイント・リリースの番号が示されます)を選択します。その後、「次へ」を選択します。

3. インストールの場所を選択するページで、希望に応じてデフォルト値を使用するか、別の場所を指定します。「次へ」を選択します。

4. 利用可能な製品コンポーネントを選択するページで、Oracle Data Provider for .NETが選択されていること(デフォルト)を確認します。その他のコンポーネントは、ODP.NETではオプションです。「次へ」を選択します。

注意:
Oracle Providers for ASP.NETも選択した場合、指定した場所で一連のSQLスクリプトを実行することを指示するページが表示されます。TimesTenにはOracle Providers for ASP.NETは関係がないことに注意してください。

5. システムにVisual Studioのバージョンが複数インストールされている場合、「Oracle Developer Tools for Visual Studio」ページにバージョンが列挙されるので、Oracle Data Access Components for Oracle Clientで構成するバージョンを選択できます。「次へ」を選択します。TimesTenにはOracle Developer Tools for Visual Studioは関係がないことに注意してください。
システムにVisual Studioが1つのバージョンのみである場合は、そのバージョンが自動的にOracle Data Access Components for Oracle Clientで構成され、このページは表示されません。

6. サマリー・ページで「インストール」を選択します。

ODAC 11.2 for Windows(XCopyバージョン)の一部としてのODP.NETのインストール

Oracle Data Access Components(ODAC)11.2リリースのOracle XCOPYバージョンの一部としてODP.NETをインストールするには、次の手順を実行します。64ビット・バージョンのインストール手順は32ビット・バージョンと同様です。

XCopyには、システム管理者用に、OUIで用意されているものよりも簡単かつきめ細かく操作することができる、標準のODP.NETクライアントよりも小さなODP.NETクライアントが用意されています。これにより、多数のコンピュータに本番をデプロイする際の利便性が向上し、カスタマイズしたデプロイメント・パッケージにODP.NETを埋め込むことが容易になります。

このインストールでは、Oracle Universal Installerは使用されません。かわりに、(XCopyインストール用にODAC ZIPファイルを解凍したインストール・ディレクトリにある)install.batバッチ・ファイルを実行してインストールを実行します。

ここではインストール手順の概要が説明されています。詳細は、readme.txtを参照してください(こちらもインストール・ディレクトリに含まれています)。

重要:
readme.txtファイルでは、次の点が強調されています。

- 既存のOUIベースのOracleホーム・インストールにXCopyを上書きインストールしないようにする必要があります。

- 同じディレクトリに複数のODAC製品をインストールする場合、その都度同じOracleホームを指定します。

- ODAC製品と依存関係は、デフォルトで、すでに新しいバージョンがインストールされているかを確認することなくインストールされます。

install.batを実行し、インストールを希望するODAC製品を指定します。たとえば、C:\oracle\odacがインストール・ディレクトリであり、odachomeがODACのOracleホームの名前だと仮定した場合、クライアントにODP.NET for .NET 2.0ライブラリのみをインストールする場合は、次のコマンドを使用します。

install.bat odp.net2 C:\oracle\odac odachome

または、ODP.NET for .NET 4ライブラリのみをインストールするには、次のコマンドを実行します。

install.bat odp.net4 C:\oracle\odac odachome

または、クライアントにすべてのODAC製品をインストールするには、次のコマンドを実行します。

install.bat all C:\oracle\odac odachome

インストール後のパスに関する考慮事項

TimesTen環境では、ODP.NETにより適切なOCIバージョンが検出され使用されます(つまり、TimesTen Instant ClientバージョンではなくOracle Clientのバージョン)。さらに、パスについて次が確認されます。

1. PATHの設定に、tt_install_dir\binのTimesTen共有ライブラリの場所の設定があることが確認されます(ここで、tt_install_dirはTimesTenインストールのルート・ディレクトリです)。これは、パス内のその他のOracleディレクトリの後に続きます。

2. XCopyインストールの場合、TimesTenのディレクトリを含むその他のOracleディレクトリの後に、PATH設定に、ODACインストール・ディレクトリとODACインストールbinディレクトリを追加します。たとえば、C:\oracle\odacがインストール・ディレクトリであるとします。

set PATH=C:\oracle\odac;C:\oracle\odac\bin;%PATH%

注意:
ODP.NETの設定の詳細は、Oracle Data Provider for .NETのREADMEファイルを参照してください。

ODP.NETのアンインストール

ODP.NETを含むOracle Database製品のアンインストールの詳細は、『Oracle Databaseインストレーション・ガイド for Microsoft Windows』のOracle Databaseソフトウェアの削除に関する説明を参照してください。

XCopyインストールをアンインストールするには、アンインストールする製品(またはすべての製品)とODAC製品のOracleホーム名を指定し、ODP.NETインストール・ディレクトリ(「ODAC 11.2 for Windows(XCopyバージョン)の一部としてのODP.NETのインストール」を参照)からuninstall.batバッチ・ファイルを実行します。たとえば、ODP.NET for .NET 2.0ライブラリを含むクライアントをアンインストールするには、Oracleホーム名がodachomeであると仮定した場合、次のように実行します。

uninstall.bat odp.net2 odachome

または、すべてのODAC製品をアンインストールするには、次を実行します。

uninstall.bat all odachome

ODP.NET用のアプリケーションの構築

アプリケーションを構築するには、Visual Studio IDEを使用するか、Visual Studioのコマンド・プロンプトからcsc.exeコマンドライン・コンパイラを使用します。次の例では、csc.exeを使用します(ここで、すべての入力は1つのコマンド行で行います)。

C:\Temp> csc /out:myapp.exe /reference:C:\app\mydir\path\
Oracle.DataAccess.dll myapp.cs

Microsoft (R) Visual C# 2005 Compiler version 8.00.50727.3053
for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727
Copyright (C) Microsoft Corporation 2001-2005. All rights reserved.

Oracle.DataAccess.dllアセンブリおよび依存ライブラリの場所は、Oracle製品のインストール・タイプおよびODP.NETアセンブリの.NETバージョンに基づいています。詳細は、『Oracle Data Provider for .NET開発者ガイド』およびODP.NETのREADMEファイルを参照してください。

注意:
Visual Studioは、ODP.NET for TimesTenのランタイムの必須要件ではありませんが、アプリケーションを開発する場合は、Visual Studioに同梱のC#コンパイラなどの.NETコンパイラが必要です。

ODP.NETアプリケーション用のTimesTen接続の設定

ODP.NET for TimesTenでは、TimesTenおよびOracle Databaseへの複数の同時接続がサポートされています。ODP.NETインタフェース用に記述された既存のアプリケーションは、アプリケーション・コードに対して一連の最小限の変更を加えることで、TimesTenにアクセスできます。

TimesTen環境でODP.NETは、TimesTenデータベースとの通信にOCIを使用します。したがって、Oracle Databaseの場合と同様に、ODP.NETアプリケーションはtnsnamesまたはeasy connectネーミング・メソッドを使用してTimesTenと接続できます。次で説明するtnsnamesおよび簡易接続ネーミング・メソッドについて詳しくは、『Oracle Database Net Services管理者ガイド』のネーミング・メソッドの構成に関する項を参照してください。

この項の内容は次のとおりです。

- tnsnamesネーミング・メソッドを使用した接続

- 接続用の簡易接続ネーミング・メソッドの使用

- 使用する接続方法の設定(tnsnamesまたは簡易接続ネーミング・メソッド)

- ODP.NET接続文字列へのTimesTen接続属性の設定

注意:

- TimesTenでは、OCIを使用した分散トランザクションがサポートされていません。したがって、ODP.NETアプリケーションではTimesTen接続で分散トランザクションを使用できません。

- ODP.NET for TimesTenではグローバル・ランタイム・ロード・バランシング(Oracle RACデータベースの機能)はサポートされないため、接続文字列属性設定Load Balancing=trueもサポートされません。

- TimesTenへの接続に関するODP.NETアプリケーションのエラー・メッセージは、TimesTenのOCIのエラー・メッセージの実装に基づきます。TimesTen OCIエラーは、OracleExceptionオブジェクトとしてODP.NETアプリケーションとして伝播されます。

tnsnamesネーミング・メソッドを使用した接続

TimesTenでは、tnsnames構文がサポートされています。TimesTen tnsnames.oraエントリは、Oracle tnsnames.oraエントリの場合と同様に使用できます。

次に、tnsnames.oraでのTimesTenエントリの構文を示します。

tns_entry = (DESCRIPTION =
(CONNECT_DATA =
(SERVICE_NAME = dsn)
(SERVER = timesten_direct | timesten_client)))

ここで、tns_entryは、エントリに割り当てる任意のTNS名です。次の点に注意してください。

- ここで示されているように、DESCRIPTIONおよびCONNECT_DATAは必要です。

- SERVICE_NAMEのdsnは、ODBC Data Source Administratorで定義されているTimesTenデータ・ソース名(DSN)である必要があり、ODP.NETアプリケーションを実行するユーザーから参照可能である必要があります。

- SERVERでは、timesten_directでTimesTenデータベースへの直接接続が指定され、timesten_clientではクライアント/サーバー接続が指定されます。timesten_directを指定した場合、dsnはTimesTen Data Manager DSNにする必要があります。timesten_clientを指定した場合、dsnはTimesTen Client DSNにする必要があります。

DSN my_dsnが参照するTimesTenデータベースへの直接接続用のtnsnames.oraエントリの例を次に示します。

my_tnsname = (DESCRIPTION =
(CONNECT_DATA =
(SERVICE_NAME = my_dsn)
(SERVER = timesten_direct)))

ユーザーscottとパスワードtigerを使用し、tnsnames.oraファイルのmy_tnsnameエントリによって参照されるmy_dsn TimesTenデータベースに接続するには、ODP.NETアプリケーションで次の接続文字列を指定します。

"User Id=scott;Password=tiger;Data Source=my_tnsname"

tnsnames.oraファイルのmy_tnsnameエントリによって参照されるmy_dsnに現在のオペレーティング・システム・ユーザーとして接続するには、ODP.NETアプリケーションで次の接続文字列を指定します。現行のオペレーティング・システム・ユーザーは、TimesTenインスタンス管理者または定義済のTimesTen外部ユーザーである必要があります。

"User Id=/;Data Source=my_tnsname"

接続用の簡易接続ネーミング・メソッドの使用

TimesTenでは、tnsnames.oraエントリを構成せずに接続を許可する簡易接続構文をサポートしています。TimesTen簡易接続文字列の構文は次のとおりです。

host/service_name:server

次の点に注意してください。

- 簡易接続の構文に従うにはホスト名を指定する必要があります(指定しない場合、TimesTenでは無視されます)。慣例的に、通常localhost名が使用されます。

- service_nameには、ODP.NETアプリケーションを実行するユーザーから参照可能なODBC Data Source Administratorで定義されているTimesTen DSNを指定します。

- serverでは、timesten_directではTimesTenデータベースへの直接接続が指定され、timesten_clientではクライアント/サーバー接続が指定されます。timesten_directを指定した場合、service_nameはTimesTen Data Manager DSNである必要があります。timesten_clientを指定した場合、service_nameはTimesTen Client DSNである必要があります。

ユーザーscottとパスワードtigerでmy_dsn DSNから参照されるTimesTenデータベースへの直接接続を確立するには、ODP.NETアプリケーションで次の接続文字列を指定します。

"User Id=scott;Password=tiger;Data Source=localhost/my_dsn:timesten_direct"

現在のオペレーティング・システム・ユーザーとしてmy_dsnによって参照されるTimesTenデータベースへの直接接続を確立するには、ODP.NETアプリケーションで次の接続文字列を指定します。現行のオペレーティング・システム・ユーザーは、TimesTenインスタンス管理者または定義済のTimesTen外部ユーザーである必要があります。

"User Id=/;Data Source=localhost/my_dsn:timesten_direct"

使用する接続方法の設定(tnsnamesまたは簡易接続ネーミング・メソッド)

sqlnet.oraファイルが存在する場合、このファイルは、試行するネーミング・メソッドおよびその試行順序を指定します。ODP.NETは次の優先順位でsqlnet.oraファイルを検索します。

1. TNS_ADMIN環境変数が設定されている場合、ODP.NETではその指定場所が検索されます。

2. TNS_ADMINが設定されていない場合、Oracle Databaseのデフォルトの場所は、『Oracle Database Net Servicesリファレンス』の「sqlnet.oraファイルのパラメータ」の説明のとおりにODP.NETによって検索されます。

sqlnet.oraが検出された場合、そこに示されるネーミング・メソッドのみを使用できます。sqlnet.oraが検出されない場合、tnsnamesまたは簡易接続ネーミング・メソッドのいずれかを使用できます。

TimesTenでは、tnsnames.oraおよびsqlnet.oraファイルのサンプル・コピーはtt_install_dir\network\admin\samplesディレクトリにあります(ここで、tt_install_dirはTimesTenインストールのルート・ディレクトリです)。次にTimesTenで用意されている、tnsnamesネーミング・メソッドと簡易接続ネーミング・メソッドの両方をサポートするsqlnet.oraファイルを示します。

# To use ezconnect syntax or tnsnames, the following entries must be
# included in the sqlnet.ora configuration.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

この設定では、ODP.NETはまず接続文字列からtnsnames構文を検索します。tnsnames構文を検索できない場合は、簡易接続文字列を検索します。

重要:
ODP.NETには、Oracle Databaseネットワーク・ライブラリが含まれます。TimesTen環境では、ODP.NETはTimesTen付属のInstant Clientに含まれるOracle Databaseネットワーク・ライブラリのコピーを使用しません。(参考のために、この場所は、TimesTen 11.2.2リリースに付属のOracle Database 11.2 Instant Clientではtt_install_dir\ttoracle_home\instantclient_11_2になり、TimesTen 11.2.1リリースに付属のOracle Database 11.1 Instant Clientではinstantclient_11_1になります。)

ODP.NET接続文字列へのTimesTen接続属性の設定

次の構文で、ODP.NET接続文字列のPassword設定にTimesTen接続属性を設定できます。

- パスワード設定自体と任意のTimesTen接続属性の設定を含む、Password設定の構成要素は、セミコロンで区切ります。

- Password設定にセミコロンが含まれる場合は、必ず設定全体を引用符で囲む必要があります。

- ODP.NET接続文字列全体が引用符で囲まれるので、Password設定の始まりの引用符と終わりの引用符の前にはそれぞれ\のエスケープ文字が必要です。

次の例では、TimesTenでユーザーscottに対し、パスワードlionを設定します。また、TimesTen Application-Tier Database Cache (TimesTen Cache)を使用するために、Oracle Databaseでユーザーscottに対しパスワードtigerを指定する、TimesTen OraclePWD接続属性も設定します。

"Data Source=mysource;User Id=scott;Password=\"lion;OraclePwd=tiger\"";

次の例では、また、TimesTenでユーザーscottに対し、パスワードlionを設定します。今回は、TimesTenのOracleNetServiceName接続属性とOraclePWD接続属性を設定します。OracleNetServiceNameでは、Oracle DatabaseのOracle IDを、対応するパスワードtigerを指定しOraclePWD設定に指定します。この例では、最後にTimesTenパススルー・レベルを1に設定します。

"Data Source=mysource;User ID=scott;Password=\"lion;OraclePwd=tiger;
OracleNetServiceName=mytest-pc.example.com;passthrough=1\"";

(TimesTen接続属性の一般的な情報は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。)

注意:
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースの管理に関する説明に従うと、通常どおり、ODBC Data Source AdministratorのTimesTen DSN定義にTimesTen接続属性を設定できます。ただし、これは安全ではないので、OraclePWD属性などのパスワード設定は推奨されません。

TimesTenでのODP.NETインストールのテスト

次の手順を実行して、TimesTenでのODP.NETをテストします。

これらのテストを実行するには、Quick Startサンプル・プログラムを含むTimesTenインストールが必要です。次の手順は、Visual Studioの使用を想定しています。

1. build_sampledb.batスクリプトをtt_install_dir\quickstart\sample_scripts\createdb\ディレクトリから実行します(tt_install_dirはTimesTenインストールのルート・ディレクトリです)。これによってsampledb_1122というTimesTenデータベースがユーザーとオブジェクトとともに作成されます。

2. ODP.NETサンプル・プログラムをシステムのDemoODP.csにコピーします。これは、次のTimesTen Quick Startディレクトリにあります。

tt_install_dir\quickstart\sample_code\odp.net\

3. 次を含むtnsnames.oraファイルを作成します。

SAMPLEDB_1122 =(DESCRIPTION=(CONNECT_DATA =
(SERVICE_NAME = SAMPLEDB_1122)(SERVER = timesten_direct)))

4. Visual Studioコマンド・プロンプトを開き、作成したtnsnames.oraファイルの場所を指定する環境変数TNS_ADMINを設定します。次に例を示します。

>set TNS_ADMIN=c:\mytnsdir\sqlnet

5. DemoODP.csが配置されたディレクトリに移動し、DemoODPプログラムをコンパイルします。次に例を示します。

csc /out:DemoODP.exe /reference:C:\path\Oracle.DataAccess.dll DemoODP.cs

注意:

- Oracle.DataAccess.dllアセンブリおよび依存ライブラリの場所は、Oracle製品のインストール・タイプおよびODP.NETアセンブリの.NETバージョンに基づいています。詳細は、『Oracle Data Provider for .NET開発者ガイド』およびODP.NETのREADMEファイルを参照してください。

- TimesTen 11.2.2リリースのTimesTenサンプル・データベース名は、sampledb_1122です。TimesTen 11.2.1リリースの名前は、sampledb_1121です。

6. DemoODPを次のとおり実行します。(データベース名、ユーザー名、パスワードは、build_sampledb.batの実行時に自動的に判別されます。)

DemoODP -db sampledb_1122 -user appuser -passwd welcome1

これによって、次が出力されます。

Start Test
The employee who got the 10% pay raise was CLARK

Employees in department #50:
7944, ITMGR, MANAGER, 7839, 10/08/2010 10:34:20 AM, 2500, <NULL>, 50
7945, DVLPR1, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7946, DVLPR2, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7947, DVLPR3, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7948, DVLPR4, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7949, DVLPR5, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7950, DVLPR6, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7951, DVLPR7, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7952, DVLPR8, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7953, DVLPR9, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
7954, DVLPR10, DEVELOPER, 7944, 10/08/2010 12:00:00 AM, 2000, <NULL>, 50
Test finished

TimesTenにおけるODP.NETデプロイ時の考慮事項

この項では、TimesTen環境にODP.NETを使用するアプリケーションをデプロイする際に認識しておく必要のある事項について、次の内容で説明します。

- 結果セットおよびREF CURSORに対するトランザクションのコミットの影響

- TimesTen組込みプロシージャのサポート

- VARCHAR2、NVARCHAR2、VARBINARYデータ型のサポート

- 既知の問題と制限事項

- トラブルシューティング

- ttSrcScanユーティリティ

結果セットおよびREF CURSORに対するトランザクションのコミットの影響

文の実行およびREF CURSORの作成によって生成される結果セットの処理では、TimesTen接続でトランザクションがコミットされるときの動作と、Oracle Database接続でトランザクションがコミットされるときの動作は異なります。OracleDataReaderオブジェクトの結果セットがオープンしているとき、TimesTenでトランザクションがコミットされると、Oracle Databaseの場合とは異なり結果セットは自動的にクローズされます。これは、明示的なコミット、自動コミット、暗黙的なコミットの場合に該当します。

TimesTenでは暗黙的なコミットは、DDL文の後に実行されます。ODP.NETでは、コマンド接続からOracleTransactionオブジェクトが事前にインスタンス化されていない状態でOracleCommandオブジェクトが実行されると、暗黙的なコミットも発生します。明示的なコミットは、CommitメソッドがOracleTransactionオブジェクトでコールされる際に発生します。いずれの場合にも、トランザクションでオープンされている結果セットが完全に処理される前にTimesTen接続でコミットが発生すると、「Function sequence error」例外がスローされる場合があります。

この動作の違いは、OracleCommandオブジェクトの実行が別のOracleCommandオブジェクトと関連付けられている結果セットの処理とインターリーブされるとき、発生する可能性が高くなります。「Function sequence error」例外を回避するには、結果セットの実行と処理はOracleTransactionオブジェクトのコンテキスト内に排他的に含められる必要があります。これによって、結果セットのすべての行が取得される前にコミットが発生することを回避できます。

「Function sequence error」例外は、OracleCommand、OracleRefCursorまたはOracleDataReaderオブジェクトのFetchSizeプロパティの値によって発生する場合があります。FetchSizeプロパティが明示的に設定されていなかったり、大きな値に設定されている場合、「Function sequence error」例外がスローされる前に、アプリケーションによって多数の行がフェッチされる場合があります。

TimesTen組込みプロシージャのサポート

TimesTen組込みプロシージャは、結果セットを戻さない組込みのみ、TimesTen OCIから直接コールできます。したがって、この制限は、ODP.NET for TimesTenにも適用されます。

次の例のように、OracleCommandインスタンスを使用し、組込みをコールします。ここでは、TimesTenへの接続がすでに確立されているOracleConnectionインスタンスconnを想定しています。OracleCommandインスタンスを使用し終えたら、Disposeメソッドをコールし、リソースを解放します。

// switching to passthrough 1 mode using ttOptSetFlag built-in function
string switchModeStmt = "call ttOptSetFlag('passthrough', 1)";
OracleCommand switchCmd = new OracleCommand(switchModeStmt, conn);
switchCmd.CommandType = CommandType.Text;
switchCmd.ExecuteNonQuery();
switchCmd.Dispose();

結果セットを戻す組込みプロシージャについては、ODP.NETを介して結果セットに直接アクセスすることはできません。ただし、PL/SQLから組込みをコールする場合は、OUTパラメータとしてアクセスできます。次に例を示します。

int passThruValue = -1;
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "declare v_name varchar2(255); begin execute immediate
'call ttOptGetFlag(''passthrough'')' into v_name, :rc1; end;";
cmd.Parameters.Add("rc1", OracleDbType.Int32, -1, ParameterDirection.Output);
cmd.ExecuteNonQuery();
passThruValue = Convert.ToInt32(cmd.Parameters[0].Value.ToString());
cmd.Parameters.Clear();
cmd.Dispose();

VARCHAR2、NVARCHAR2およびVARBINARYデータ型のサポート

TimesTenのVARCHAR2、NVARCHAR2およびVARBINARY型でサポートされるデータは最大4MBです。ODP.NET for TimesTenは、これらのデータ型(およびその他のTimesTen SQLタイプ)の最大サイズの送信をサポートします。

既知の問題と制限事項

この項では、リリース時点で判明している制限事項について説明します。

- TimesTenバージョン11.2.1.6.1では、文のキャッシングが有効な場合、PL/SQLプロシージャをコールすると、保護されたメモリーに書込みが試行されます(OracleBug#10231354)。この問題を解決するには、TimesTenバージョン11.2.1.7.0以上にアップグレードします。

- 操作に十分なメモリーがないことがわかった場合、文キャッシュの自動チューニングは、それ自体によって無効化されます。アプリケーションがTimesTenに(クライアント/サーバー接続ではなく)直接接続する場合、メモリーにデータベース全体がロードされるため、文キャッシュで使用できるメモリーが減り、これが発生する可能性が高くなることに注意してください。

トラブルシューティング

この項では、発生する可能性のある様々な例外の解決方法を説明します。

- 例外「ORA-44818: TimesTenデータベースにPL/SQL機能がインストールされていません」
TimesTenデータベースでPL/SQLが無効になっている場合(デフォルトでは有効です)、ODBC Data Source AdministratorでPLSQL接続属性を1に設定し、有効にします。ODP.NETアプリケーションでは、PL/SQLが無効のTimesTenデータベースには接続できません。

- 例外: 「TimesTenデータベースのバージョンがバージョンの最小要件である11.2.1.6.1未満です」
TimesTenデータベースのバージョン11.2.1.6.1以上を参照するように、tnsname.oraエントリまたは簡易接続文字列のサービス名を変更します。TimesTen ODP.NETアプリケーションでは、11.2.1.6.1より前のTimesTenデータベース・バージョンには接続できません。

- 例外「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」または「ORA-12541: TNS: リスナーがありません」
ODP.NETアプリケーションからTimesTenデータベースに接続するには、ODP.NET接続文字列内のData Source属性を、tnsnames.oraファイルのTimesTenエントリのTNS名またはTimesTen簡易接続文字列のいずれかに設定する必要があります。

接続にtnsnamesネーミング・メソッドを使用する場合、tnsnames.oraファイル内のエントリがTimesTen DSNと関連付けられていることを確認します。また、TNS_ADMIN環境変数がtnsnames.oraファイルが保存されているディレクトリに設定されていることを確認します。

接続に簡易接続ネーミング・メソッドを使用する場合、service_nameがTimesTen DSNに設定され、serverがDSNによって直接接続されるかクライアント/サーバー接続されるかの構成に応じて、timesten_directまたはtimesten_clientのいずれかに設定されていることを確認します。

- 例外「ORA-29158: ライブラリをオープンできません。」
TimesTenデータベースに接続する場合、tnsnames.oraファイルのエントリがTimesTen DSNに関連付けられているか、または簡易接続文字列内のservice_nameがTimesTen DSNに設定されていることを確認します。

このエラーは、ODP.NETがTimesTen tt_install_dir\binディレクトリ内でTimesTen ODBCドライバを検出できない、パスの問題によっても発生します(次のトラブルシューティング項目も参照してください。)

- 例外「ORA-29159:ライブラリを読み込めません。」
前述のORA-29158の手順に加え、tnsnames.oraファイル内のサーバー設定または簡易接続文字列が、TimesTen DSNのタイプに応じてtimesten_directまたはtimesten_clientであることを確認します。

tnsnames.oraおよび簡易接続については、『Oracle TimesTen In-Memory Database C開発者ガイド』のOCIでのTimesTenデータベースへの接続に関する説明を参照してください。

- 例外: 「ttcommonxxxx.dllが検出されなかったので、アプリケーションの起動に失敗しました。アプリケーションを再インストールすると問題を解決できる場合があります」
これは、tt_install_dir\binのTimesTen共有ライブラリの場所がPATH環境変数設定に含まれていないことを示します。

注意:
xxxxには、TimesTenのリリース番号が示されます。TimesTen 11.2.2リリースでは、ファイル名はttcommon1122.dllになります。TimesTen 11.2.1リリースでは、ttcommon1121.dllになります。

- 例外「保護されているメモリーの読取りが試行されました。これは、通常、メモリーが破損していることを示します。」
「既知の問題と制限事項」を参照してください。

ttSrcScanユーティリティ

既存のODP.NETプログラムがあり、そのプログラムでTimesTenではサポートされていないODP.NET機能が使用されているかどうかを確認する場合は、ttSrcScanコマンドライン・ユーティリティ(バージョン11.2.1.8.0以上)を使用すると、サポートされていない関数、型、型コード、属性、モードおよび定数に関してプログラムをスキャンできます。このユーティリティは、TimesTenまたはOracle Databaseがインストールされていない場合でも実行可能なスタンドアロン・ユーティリティであり、TimesTenでサポートされているどのプラットフォームでも動作します。入力としてソース・コード・ファイルを読み取り、出力としてHTMLおよびテキスト・ファイルを作成します。サポートされていない項目が検出されると、それらの項目はログに記録され、代替が示されます。ttSrcScan実行可能ファイルは、TimesTenのインストール先のquickstart/sample_utilディレクトリにあります。

入力ファイルまたはスキャン対象のプログラムのディレクトリ、およびttSrcScanレポートの出力ディレクトリを指定します。その他のオプションも使用できます。詳細は、sample_utilディレクトリにあるREADMEファイルを参照してください。

TimesTenでのODP.NETネームスペースおよびクラスのサポート状況

この項では、TimesTen環境でサポートされるODP.NETネームスペースおよびクラスに関するリファレンスを示します。

ODP.NETでは、Oracle.DataAccess.ClientおよびOracle.DataAccess.Typesネームスペースのクラス、列挙、インタフェース、デリゲート、構造が実装されます。Oracle.DataAccess.Clientネームスペースには、コアADO.NETクラス、ODP.NET用の列挙、ODP.NET固有のクラスの実装が含まれます。Oracle.DataAccess.Typesネームスペースでは、ODP.NETで使用できるOracle Databaseにネイティブな型のクラス、構造、例外を提供します。次に示すネームスペース以外については、『Oracle Data Provider for .NET開発者ガイド』を参照してください。プログラムから、次のようにそれらにアクセスできる必要があります。

using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;

次の項では、ODP.NET 11.2リリース用に記述されている、Oracle.DataAccess.ClientおよびOracle.DataAccess.TypesネームスペースのODP.NETクラス、列挙および型に対するTimesTenのサポートについて説明します。

- Oracle.DataAccess.Clientネームスペースのサポート状況

- Oracle.DataAccess.Typesネームスペースのサポート状況

注意:
ODP.NETアプリケーションからTimesTenに接続する場合、アプリケーションでは対応するTimesTenがサポートするODP.NETの機能のみ使用できます。これについては、ここで説明するネームスペースに対するサポートで示しています。
たとえば、TimesTenではサポートしていない、Oracle Streamsアドバンスト・キューイングは使用することはできません。TimesTenでサポートされないODP.NET機能の使用を試行すると、OracleExceptionオブジェクトがスローされます。これらの例外は、対応するTimesTen OCIのエラー・メッセージに基づきます。

Oracle.DataAccess.Clientネームスペースのサポート状況

次の表では、Oracle.DataAccess.Clientネームスペースのデリゲート、クラス、列挙のサポート状況の一覧を示します。

表1 Oracle.DataAccess.Clientネームスペース・デリゲートのサポート状況

デリゲート名

サポートの有無

OnChangeEventHandler

なし

OracleAQMessageAvailableEventHandler

なし

OracleFailoverEventHandler

なし

OracleHAEventHandler

なし

OracleInfoMessageEventHandler

あり

OracleRowsCopiedEventHandler

なし

OracleRowUpdatedEventHandler

あり

OracleRowUpdatingEventHandler

あり

表2 Oracle.DataAccess.Clientネームスペース・クラスのサポート状況

クラス名

サポートの有無

注意

OracleAQAgent

なし

OracleAQDequeueOptions

なし

OracleAQEnqueueOptions

なし

OracleAQMessage

なし

OracleAQMessageAvailableEventArgs

なし

OracleAQQueue

なし

OracleBulkCopy

なし

OracleBulkCopyColumnMapping

なし

OracleBulkCopyColumnMappingCollection

なし

OracleClientFactory

あり

OracleCommand

あり

TimesTenがサポートするこのクラスのプロパティおよびpublicメソッドの詳細は、「OracleCommandクラスのサポート状況」を参照してください。

OracleCommandBuilder

あり

OracleConnection

あり

TimesTenがサポートするこのクラスのプロパティおよびpublicメソッドのサポートの詳細は、「OracleConnectionクラスのサポート状況」を参照してください。

OracleConnectionStringBuilder

あり

OracleDataAdapter

あり

IdentityInsertプロパティおよびIdentityUpdateプロパティはサポートされません。

OracleDatabase

なし

OracleDataReader

あり

TimesTenがサポートするこのクラスのプロパティおよびpublicメソッドの詳細は、「OracleDataReaderクラスのサポート状況」を参照してください。

OracleDataSourceEnumerator

あり

OracleDependency

なし

OracleError

あり

OracleErrorCollection

あり

OracleException

あり

OracleFailoverEventArgs

なし

OracleGlobalization

なし

OracleHAEventArgs

なし

OracleInfoMessageEventArgs

あり

OracleNotificationEventArgs

なし

OracleNotificationRequest

なし

OracleParameter

あり

OracleParameterCollection

あり

OraclePermission

あり

OraclePermissionAttribute

あり

OracleRowsCopiedEventArgs

なし

OracleRowUpdatedEventArgs

あり

OracleRowUpdatingEventArgs

あり

OracleTransaction

あり

TimesTenがサポートするこのクラスのプロパティおよびpublicメソッドの詳細は、「OracleTransactionクラスのサポート状況」を参照してください。

OracleXmlQueryProperties

なし

OracleXmlSaveProperties

なし

表3 Oracle.DataAccess.Clientネームスペース列挙のサポート状況

列挙名

サポートの有無

FailoverEvent

なし

FailoverReturnCode

なし

FailoverType

なし

OracleAQDequeueMode

なし

OracleAQMessageDeliveryMode

なし

OracleAQMessageState

なし

OracleAQMessageType

なし

OracleAQNavigationMode

なし

OracleAQNotificationGroupingType

なし

OracleAQNotificationType

なし

OracleAQVisibilityMode

なし

OracleBulkCopyOptions

なし

OracleCollectionType

なし

OracleDBShutdownMode

なし

OracleDBStartupMode

なし

OracleDbType

あり

OracleHAEventSource

なし

OracleHAEventStatus

なし

OracleNotificationInfo

なし

OracleNotificationSource

なし

OracleNotificationType

なし

OracleParameterStatus

あり

OracleRowidInfo

なし

OracleXmlCommandType

なし

この項の以降の内容は次のとおりです。

- OracleCommandクラスのサポート状況

- OracleConnectionクラスのサポート状況

- OracleDataReaderクラスのサポート状況

- OracleTransactionクラスのサポート状況

OracleCommandクラスのサポート状況

次の表では、OracleCommandクラスのプロパティおよびメソッドのサポート状況の一覧を示します。

表4 OracleCommandクラス・プロパティのサポート状況

プロパティ名

サポートの有無

AddRowid

なし

AddToStatementCache

あり

ArrayBindCount

あり

BindByName

なし

CommandText

あり

CommandTimeout

なし

CommandType

あり

Connection

あり

DesignTimeVisible

なし

FetchSize

あり

InitialLOBFetchSize

なし

InitialLONGFetchSize

なし

Notification

なし

NotificationAutoEnlist

なし

Parameters

あり

RowSize

あり

Transaction

あり

UpdatedRowSource

あり

XmlCommandType

なし

XmlQueryProperties

なし

XmlSaveProperties

なし

表5 OracleCommandクラス・メソッドのサポート状況

メソッド名

サポートの有無

Cancel

なし

Clone

あり

CreateParameter

あり

ExecuteNonQuery

あり

ExecuteReader

あり

ExecuteScalar

あり

ExecuteStream

なし

ExecuteToStream

なし

ExecuteXmlReader

なし

OracleConnectionクラスのサポート状況

次の表では、OracleConnectionクラスのプロパティおよびメソッドのサポート状況の一覧を示します。

表6 OracleConnectionクラス・プロパティのサポート状況

プロパティ名

サポートの有無

ActionName

なし

ClientId

なし

ClientInfo

なし

ConnectionString

あり

ConnectionTimeout

あり

Database

なし

DatabaseDomainName

なし

DatabaseName

なし

DataSource

あり

HostName

なし

InstanceName

なし

IsAvailable (静的プロパティ)

なし

ModuleName

なし

ServerVersion

あり

ServiceName

なし

State

あり

StatementCacheSize

あり

表7 OracleConnectionクラス・イベントのサポート状況

メソッド名

サポートの有無

Failover

なし

HAEvent

なし

InfoMessage

なし

StateChange

あり

表8 OracleConnectionクラス・メソッドのサポート状況

メソッド名

サポートの有無

注意

BeginTransaction

あり

ChangeDatabase

なし

ClearAllPools (静的メソッド)

あり

ClearPool (静的メソッド)

あり

Clone

あり

Close

あり

CreateCommand

あり

EnlistDistributedTransaction

なし

TimesTenでは、OCIを使用した分散トランザクションがサポートされていません。したがって、ODP.NETアプリケーションではTimesTen接続で分散トランザクションを使用できません。

EnlistTransaction

なし

「EnlistDistributedTransaction」を参照してください。

FlushCache

なし

GetSchema

あり

アプリケーション開発者がデータベース情報を検出および列挙するための、表、列、ユーザーおよびその他のオブジェクトのメタデータ・コレクションが戻されます。この情報はTimesTenに固有で、Oracle Databaseより戻される対応するメタデータ・コレクションとは異なる場合があります。たとえば、TimesTenでは、TimesTenではサポートしていないオブジェクト・タイプであるJavaClassesおよびXMLSchemasのメタデータ・コレクションは戻しません。

GetSessionInfo

あり

Open

あり

OpenWithNewPassword

なし

PurgeStatementCache

あり

SetSessionInfo

なし

列挙およびpublic OracleConnectionクラス・プロパティであるOracleConnectionTypeは、特定の接続オブジェクトが、TimesTen接続またはOracle Database接続と関連付けられているか、または物理的な接続がまったくないかを、ODP.NETアプリケーションが判別できるようにするものです。このプロパティには次のシグネチャがあります。

public OracleConnectionType ConnectionType

OracleConnectionType列挙から、次のいずれかの値が戻されます。

OracleConnectionType.Undefined: No connection is associated with the OracleConnection object

OracleConnectionType.Oracle: The OracleConnection object is associated with an Oracle database

OracleConnectionType.TimesTen: The OracleConnection object is associated with a TimesTen database

OracleDataReaderクラスのサポート状況

次の表では、OracleDataReaderクラスのプロパティおよびメソッドのサポート状況の一覧を示します。

表9 OracleDataReaderクラス・プロパティのサポート状況

プロパティ名

サポートの有無

Depth

あり

FetchSize

あり

FieldCount

あり

HasRows

あり

HiddenFieldCount

あり

IsClosed

あり

Item

あり

InitialLOBFetchSize

なし

InitialLONGFetchSize

なし

RecordsAffected

なし

RowSize

あり

VisibleFieldCount

あり

表10 OracleDataReaderクラス・メソッドのサポート状況

メソッド名

サポートの有無

Close

あり

Dispose

あり

GetBoolean

なし

GetByte

あり

GetBytes

あり

GetChar

あり

GetChars

あり

GetData

なし

GetDataTypeName

あり

GetDateTime

あり

GetDecimal

あり

GetDouble

あり

GetEnumerator

なし

GetFieldType

あり

GetFloat

あり

GetGuid

なし

GetInt16

あり

GetInt32

あり

GetInt64

あり

GetName

あり

GetOracleBFile

なし

GetOracleBinary

あり

GetOracleBlob

なし

GetOracleBlobForUpdate

なし

GetOracleClob

なし

GetOracleClobForUpdate

なし

GetOracleDate

あり

GetOracleDecimal

あり

GetOracleIntervalDS

なし

GetOracleIntervalYM

なし

GetOracleRef

なし

GetOracleString

あり

GetOracleTimeStamp

あり

GetOracleTimeStampLTZ

なし

GetOracleTimeStampTZ

なし

GetOracleXmlType

なし

GetOracleValue

あり

GetOracleValues

あり

GetOrdinal

あり

GetProviderSpecificFieldType

あり

GetProviderSpecificValue

あり

GetProviderSpecificValues

あり

GetSchemaTable

あり

GetString

あり

GetTimeSpan

なし

GetValue

あり

GetValues

あり

GetXmlReader

なし

IsDBNull

あり

NextResult

なし

Read

あり

OracleTransactionクラスのサポート状況

次の表では、OracleTransactionクラスのプロパティおよびメソッドのサポート状況の一覧を示します。

表11 OracleTransactionクラス・プロパティのサポート状況

プロパティ名

サポートの有無

IsolationLevel

あり

Connection

あり

表12 OracleTransactionクラス・メソッドのサポート状況

クラス名

サポートの有無

注意

Commit

あり

Dispose

あり

Rollback

あり

Rollback(文字列)

なし

TimesTenでは、トランザクションのセーブポイントはサポートされていません。

Save

なし

TimesTenでは、トランザクションのセーブポイントはサポートされていません。

Oracle.DataAccess.Typesネームスペースのサポート状況

次の表では、Oracle.DataAccess.Typesネームスペースの構造、例外、クラス、インタフェースおよび列挙のサポート状況の一覧を示します。

表13 Oracle.DataAccess.Typesネームスペース構造のサポート状況

構造名

サポートの有無

OracleBinary

あり

OracleDate

あり

OracleDecimal

あり

OracleIntervalDS

なし

OracleIntervalYM

なし

OracleString

あり

OracleTimeStamp

あり

OracleTimeStampLTZ

なし

OracleTimeStampTZ

なし

表14 Oracle.DataAccess.Typesネームスペース例外のサポート状況

クラス名

サポートの有無

OracleTypeException

あり

OracleNullValueException

あり

OracleTruncateException

あり

表15 Oracle.DataAccess.Typesネームスペース・クラスのサポート状況

クラス名

サポートの有無

OracleArrayMappingAttribute

なし

OracleBFile

なし

OracleBlob

なし

OracleClob

なし

OracleCustomTypeMappingAttribute

なし

OracleObjectMappingAttribute

なし

OracleRef

なし

OracleRefCursor

あり

OracleUdt

なし

OracleXmlStream

なし

OracleXmlType

なし

表16 Oracle.DataAccess.Typesネームスペース・インタフェースのサポート

インタフェース名

サポートの有無

IOracleArrayTypeFactory

なし

OracleCustomType

なし

IOracleCustomTypeFactory

なし

INullable

あり

表17 Oracle.DataAccess.Typesネームスペース列挙のサポート状況

列挙名

サポートの有無

OracleUdtFetchOption

なし

OracleUdtStatus

なし

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

Oracle Data Provider for .NET Oracle TimesTen In-Memory Databaseサポート・ユーザーズ・ガイド, 11gリリース2 (11.2) for Windows

B66728-04

Copyright © 1996, 2014, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。