ヘッダーをスキップ
Oracle® Data Provider for .NET Oracle TimesTen In-Memory Databaseサポート・ユーザーズ・ガイド
11gリリース2(11.2)for Windows
B66455-01
 

 

Oracle® Data Provider for .NET

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

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

B66455-01(原本部品番号:E18485-03)

2011年1月

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

このマニュアルでは、ODP.NETについて、TimesTen環境で使用する場合に固有の側面のみを説明します。一般情報については、『Oracle Data Provider for .NET開発者ガイド』を参照してください。

ODP.NETは、次に示す任意のTimesTenインストールとともに使用できます。

このマニュアルでは、TimesTen環境におけるODP.NETの使用方法について、次の項で説明します。

このマニュアルの最後には、ドキュメントのアクセシビリティについての項も含まれています。

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

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

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

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

  • ODP.NETは、Microsoft Visual Studio 2005以上を使用する.NET 2.0、3.0、3.5以上のフレームワーク、およびMicrosoft Visual Studio 2010を使用する.NET 4.0フレームワークをサポートします。

  • ODP.NETでは、TimesTenリリース11.2.1.6.1以上が必要です。

  • TimesTenのODP.NETは、TimesTenをサポートするMicrosoft Windows 32ビットおよび64ビットのすべてのプラットフォームでサポートされます。

  • 32ビット・バージョンのODP.NETは、32ビット・インスタンスのTimesTenデータベースまたはTimesTenクライアントで使用する必要があります。同様に、64ビット・バージョンのODP.NETは、64ビット・インスタンスのTimesTenデータベースまたはTimesTenクライアントで使用する必要があります。

.NET関連機能のサポート

TimesTenのODP.NETでは、Oracle DatabaseのODP.NETで現在使用可能な一部の機能のみがサポートされています。具体的には、TimesTenのODP.NETでは、次の機能がサポートされています。

  • ODP.NET接続プーリング

  • ODP.NETトレース

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

  • 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をインストールする必要があります。ODP.NETまたはOCIには、TimesTenが含まれていません。

  • ODP.NETによるTimesTenのサポートは、Oracle Call Interface(OCI)によるTimesTenのサポートに依存します。具体的には、Oracle Databaseリリース11.2.0.2に含まれるOCIバージョンが必要です。現行のODP.NETリリースでは、TimesTenに含まれ、tt_install_dir\ttoracle_homeディレクトリ(tt_install_dirはTimesTenインストールのルート・ディレクトリ)の下にあるOCIバージョンを使用することができず、使用しません。(ただし、ODP.NETを使用しないOCIまたはPro*C/C++プログラムでは、TimesTenバージョンのOCIを問題なく使用できます。これらのプログラミング・インタフェースについては、Oracle TimesTen In-Memory Database C開発者ガイドの「TimesTenでのOracle Call Interfaceのサポート」および「TimesTenでのOracle Pro*C/C++プリコンパイラのサポート」を参照してください。)

    「インストール後のパスに関する考慮事項」も参照してください。

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

  • TimesTenはPL/SQLオプションを使用してインストールする必要があり、接続属性の設定PLSQL=1(デフォルト)またはODBC データ ソース アドミニストレータによって、TimesTenデータベースでPL/SQLが有効になっている必要があります。PL/SQLがサポートされない一部のプラットフォームについては、Oracle TimesTen In-Memory Databaseリリース・ノートのPL/SQLに関する説明を参照してください。

関連ドキュメント

前述の説明には、Oracle TimesTen In-Memory DatabaseのドキュメントおよびOracle Databaseドキュメント・ライブラリを参照する箇所があります。

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

http://www.oracle.com/technetwork/database/timesten/documentation/

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

http://www.oracle.com/technetwork/database/enterprise-edition/documentation/

ODP.NETの概要

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

ODP.NETのインストール

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

ODP.NETのインストール・プロセスは、TimesTen環境とは関連がありません。TimesTenインストール・ディレクトリには、何もインストールされません。

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


重要:

  • TimesTenでODP.NETを使用するには、TimesTen Data ManagerまたはTimesTen Clientと同じシステム上にODP.NETがインストールされ、かつTimesTen DSNが構成されている必要があります。これらの手順の実行については、Oracle TimesTen In-Memory Databaseインストレーション・ガイドおよびOracle TimesTen In-Memory Databaseオペレーション・ガイドを参照してください。

  • 新しいバージョンのODP.NETをインストールする前に、以前のすべてのバージョンを削除することをお薦めしますが、(特に記載がないかぎり)必須ではありません。

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


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

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

このインストールでは、他のOracle Database環境の場合と同様に、Oracle Universal Installer(OUI)を使用します。(ディスク1にある)setup.exeファイルを実行してこれを稼働してから、次の手順を完了します。

  1. 「インストール・タイプの選択」ダイアログで、通常、「ランタイム」ラジオ・ボタンを選択して、「次へ」を選択します。

    (「InstantClient」、「ランタイム」、「カスタム」および「管理者」の4つのインストール・オプションがあります。「ランタイム」オプションには、ODP.NETを含むOracleクライアントが含まれます。「InstantClient」オプションには、ODP.NETが含まれません。理由があって「カスタム」インストールを使用する場合は、ODP.NETを含めるためのチェック・ボックスがあります。)

  2. 表示された「ソフトウェアの更新のダウンロード」ダイアログで、状況に応じて、任意で「ソフトウェアの更新のスキップ」ラジオ・ボタンを選択できます。終了後、「次へ」を選択します。

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

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

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

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


      重要:

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

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

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

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

(OUIインストール用のODAC ZIPファイルを解凍するステージング・ディレクトリでアクセス可能な)setup.exeファイルを実行してOUIを稼働してから、次の手順を完了します。

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

  2. インストールする製品を選択するページで、「Oracle Data Access Components for Oracle Client 11.2.0.2.1」を選択します。「次へ」を選択します。

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

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


    注意:

    「Oracle Providers for ASP.NET」も選択した場合は、指定した場所で一連のSQLスクリプトを実行するよう指示するページが表示されます。Oracle Providers for ASP.NETは、TimesTenとは関連がありません。

  5. システムに複数のバージョンのVisual Studioが存在する場合は、「Oracle Developer Tools for Visual Studio」ページにバージョンがリストされるため、Oracle Data Access Components for Oracle Clientとともに構成するバージョンを選択できます。「次へ」を選択します。Oracle Developer Tools for Visual Studioは、TimesTenとは関連がありません。

    システムに1つのバージョンのVisual Studioのみが存在する場合は、Oracle Data Access Components for Oracle Clientとともにそのバージョンが自動的に構成されるため、このページは表示されません。

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

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

Oracle Data Access Components(ODAC)11.2.0.2.1リリースのOracle XCopyバージョンの一部としてODP.NETをインストールするには、次の手順を使用します。64ビット・バージョンと32ビット・バージョンで、インストール・プロセスは同じです。

XCopyを使用すると、システム管理者は、標準のODP.NETクライアントよりもサイズが小さく、構成が簡単で、OUIに比べてファイングレイン・コントロールのあるODP.NETクライアントを使用できます。これによって、多数のコンピュータに対する本番デプロイメントが簡単になり、カスタマイズしたデプロイメント・パッケージへのODP.NETの埋込みが簡素化されます。

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

これは、インストール手順のサマリーです。詳細は、インストール・ディレクトリに格納されるreadme.txtを参照してください。


重要:

readme.txtファイルには、次の点が記載されています。
  • XCopyを既存のOUIベースのOracleホーム・インストールに上書きインストールしないでください。

  • 同じディレクトリに複数のODAC製品をインストールする場合は、インストールのたびに同じOracleホーム名を指定します。

  • デフォルトで、ODAC製品および依存コンポーネントは、より新しいバージョンがインストール済でないかを確認せずにインストールされます。


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

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

または、ODP.NET 4.0ライブラリのみを含むクライアントをインストールするには、次のコマンドを使用します。

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

あるいは、すべてのODAC製品を含むクライアントをインストールするには、次のコマンドを使用します。

install.bat all C:\oracle\odac odachome

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

ODP.NETでは、適切なバージョン(TimesTen Instant Clientバージョンではなく、Oracleクライアント・バージョン)のOCIが常に検索されて使用されます。また、パスについて次を確認します。

  1. PATH設定にTimesTen共有ライブラリの場所tt_install_dir\bin(tt_install_dirはTimesTenインストールのルート・ディレクトリ)が含まれていることを確認します。これは、パスに含まれる他のすべてのOracleディレクトリの後に続いている必要があります。

  2. XCopyインストールでは、PATH設定で、(TimesTenディレクトリを含む)他のすべてのOracleディレクトリの前に、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ホーム名を指定して、ステージング・ディレクトリからuninstall.batバッチ・ファイルを実行します(「ODAC 11.2.0.2.1 for Windows、XCopyバージョンの一部としてのODP.NETのインストール」を参照)。たとえば、Oracleホーム名がodachomeである場合に、ODP.NET 2.0ライブラリを含むクライアントをアンインストールするには、次を使用します。

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バージョン(2.xまたは4)に基づいています。詳細は、『Oracle Data Provider for .NET開発者ガイド』およびODP.NETのREADMEファイルを参照してください。

ODP.NETアプリケーションでのTimesTen接続の構成

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

TimesTen環境で、ODP.NETはOCIを使用してTimesTenデータベースと対話します。このため、Oracle Databaseでの場合と同様に、ODP.NETアプリケーションは、tnsnamesネーミング・メソッドまたは簡易接続ネーミング・メソッドを使用してTimesTenに接続できます。次に示すtnsnamesネーミング・メソッドおよび簡易接続ネーミング・メソッドについては、Oracle Database Net Services管理者ガイドの「ネーミング・メソッドの構成」を参照してください。

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


注意:

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

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


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 データ ソース アドミニストレータで定義され、かつODP.NETアプリケーションを実行しているユーザーが表示可能なTimesTenデータソース名(DSN)である必要があります。

  • 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)))

tnsnames.oraファイルでmy_tnsnameエントリによって参照されるmy_dsn TimesTenデータベースに、ユーザーscottとしてパスワードtigerを使用して接続するには、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には、ODBC データ ソース アドミニストレータで定義され、かつODP.NETアプリケーションを実行しているユーザーが表示可能なTimesTen DSNを指定する必要があります。

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

my_dsn DSNによって参照されるTimesTenデータベースに、ユーザーscottとしてパスワードtigerを使用して直接接続を確立するには、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環境変数が設定されている場合は、指定された場所を参照します。

  2. TNS_ADMINが設定されていない場合は、Oracle Databaseのデフォルトの場所を参照します(Oracle Database Net Servicesリファレンスの「sqlnet.oraファイルのパラメータ」を参照)。

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

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

# 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ネットワーク・ライブラリが含まれます。ODP.NETは、TimesTen付属のInstant Clientに含まれるOracle Databaseネットワーク・ライブラリのコピーを使用しません。(参考: tt_install_dir\ttoracle_home\instantclient_11_1にあります。)

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

TimesTen接続属性は、ODP.NET接続文字列のPassword設定で、次のとおり構文を使用して設定できます。

  • (パスワード設定自体およびTimesTen接続属性の設定を含む)Password設定のコンポーネントは、セミコロンで区切られます。

  • Password設定にセミコロンが含まれる場合は常に、設定全体が引用符で囲まれます。

  • ODP.NET接続文字列全体が引用符で囲まれるため、Password設定の開始引用符および終了引用符には、それぞれ先頭に「\」エスケープ文字を付ける必要があります。

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

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

次の例では、もう一度、TimesTenでユーザーscottにパスワードlionを指定します。今回は、OraclePWD接続属性に加えて、TimesTen OracleNetServiceName接続属性を設定します。OracleNetServiceNameはOracle DatabaseのOracle IDを、OraclePWD設定は対応するパスワードtigerを指定します。この例の最後で、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リファレンスの「接続属性」を参照してください。IMDB Cacheおよびパススルー・レベルについては、Oracle In-Memory Database Cacheユーザーズ・ガイドを参照してください。)


注意:

TimesTen接続属性は、通常通り、ODBC データ ソース アドミニストレータのTimesTen DSN定義で設定することもできます(Oracle TimesTen In-Memory Databaseオペレーション・ガイドの「TimesTenデータベースの管理」を参照)。ただし、これはセキュアではないため、OraclePWD属性などのパスワード設定にはお薦めしません。

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

NET 2.xまたは4.0環境でTimesTenを使用するODP.NETをテストするには、次の手順を実行します。(.NET 4.0の場合は、Visual Studio 2010をインストールして、Visual Studioコマンド・プロンプト2010で作業する必要があります。)

これらのテストを実行するには、Quick Startサンプル・プログラムを含むTimesTenインストールが必要です。

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

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

    tt_install_dir\quickstart\sample_code\odp.net\
    
  3. 次を含むtnsnames.oraファイルを作成します。

    SAMPLEDB_1121 =(DESCRIPTION=(CONNECT_DATA = 
       (SERVICE_NAME = SAMPLEDB_1121)(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バージョン(2.xまたは4)に基づいています。詳細は、『Oracle Data Provider for .NET開発者ガイド』およびODP.NETのREADMEファイルを参照してください。

  6. 次のようにDemoODPを実行します。(データベース名、ユーザー名およびパスワードは、build_sampledb.batの実行中に自動的に決定されます。)

    DemoODP -db sampledb_1121 -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でのトランザクション・コミットの影響

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

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

このような動作の違いは、多くの場合、OracleCommandオブジェクトの実行が、他のOracleCommandオブジェクトと関連付けられている結果セットの処理と交互に配置されると発生します。「関数順序エラー」例外を回避するには、OracleTransactionオブジェクトのコンテキスト内に、結果セットの実行および処理を排他的に含める必要があります。これによって、結果セットのすべての行が取得されるまで、コミットが発生しないようになります。

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

TimesTenビルトイン・プロシージャのサポート

TimesTenビルトイン・プロシージャは、結果セットを返さないビルトインについてのみ、TimesTen OCIから直接コールできます。この制限は、TimesTenでODP.NETを使用する際にも当てはまります。

次の例に示すように、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プログラムからビルトインをコールした場合は、PL/SQLを介してREF CURSORとして結果セットにアクセスできます。

既知の問題と制限事項

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

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

  • セルフ・チューニングの文のキャッシュは、操作に使用可能なメモリーが十分でないと判断すると、自身を無効にします。アプリケーションでTimesTenへの(クライアント/サーバー接続ではなく)直接接続を使用する場合は、メモリーにデータベース全体がロードされるため、文のキャッシュに使用可能なメモリーが減少し、この動作が発生しやすくなることに注意してください。

トラブルシューティング

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

  • 例外「ORA-44818: このTimesTenデータベースにPL/SQL機能がインストールされていません」

    ODBC データ ソース アドミニストレータでPLSQL接続属性を1に設定して、TimesTenデータベースに対してPL/SQLを有効にします。ODP.NETアプリケーションは、PL/SQLが有効になっていないTimesTenデータベースには接続できません。

  • 例外「TimesTenデータベースのバージョンが、最低限必要な11.2.1.6.1より古いバージョンです」

    TimesTenデータベース11.2.1.6.1以上のバージョンを参照するようtnsnamesエントリまたは簡易接続エントリのサービス名を変更します。TimesTen ODP.NETアプリケーションは、TimesTenデータベース11.2.1.6.1より前のバージョンに接続できません。

  • 例外「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に設定され、かつDSNが直接接続とクライアント/サーバー接続のいずれを構成するかに基づいて、servertimesten_directまたはtimesten_clientに設定されていることを確認します。

  • 例外「ORA-29158: ライブラリをオープンできません」

    TimesTenデータベースに接続している場合は、tnsnames.oraファイルのエントリがTimesTen DSNに関連付けられているか、または簡易接続文字列のservice_nameがTimesTen DSNに設定されていることを確認します。

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

  • 例外「ttcommon1121.dllが見つからないため、アプリケーションの起動に失敗しました。アプリケーションを再インストールすると、問題が解決される場合があります」

    これは、PATH環境変数の設定にTimesTen共有ライブラリの場所tt_install_dir\binが含まれていないことを示します。

  • 例外「保護されているメモリーに対して、読取りまたは書込み操作を行おうとしました。他のメモリーが壊れていることが考えられます。」

    「既知の問題と制限事項」を参照してください。

ttSrcScanユーティリティ

既存のODP.NETプログラムがあり、そのプログラムでTimesTenではサポートされていないODP.NET機能が使用されているかどうかを確認する場合は、ttSrcScanコマンドライン・ユーティリティ(バージョン11.2.1.8.0以上)を使用すると、サポートされていない関数、型、型コード、属性、モードおよび定数に関してプログラムをスキャンできます。このユーティリティは、TimesTenまたはOracleがインストールされていない場合でも実行可能なスタンドアロン・ユーティリティであり、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ネイティブ・データ型のクラス、構造および例外を提供します。次に示すネームスペースについては、『Oracle Data Provider for .NET開発者ガイド』を参照してください。プログラムで次を使用してこれらにアクセスできる必要があります。

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

次の項では、Oracle Data Provider for .NET、11gリリース2(11.2.0.2)について、TimesTenによるOracle.DataAccess.ClientおよびOracle.DataAccess.TypesネームスペースのODP.NETクラス、列挙およびタイプのサポートをリストします。


注意:

ODP.NETアプリケーションからTimesTenデータベースに接続する場合、アプリケーションでは、TimesTenでサポートされる機能に対応するODP.NET機能のみを使用できます。これは、ここで説明するネームスペースのサポート内容にも反映されます。

たとえば、Oracle Streams Advanced Queueingは、TimesTenでサポートされない機能であるため使用できません。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によるこのクラスのプロパティおよびパブリック・メソッドのサポートについては、「OracleCommandクラスのサポート」を参照してください。

OracleCommandBuilder

はい


OracleConnection

TimesTenによるこのクラスのプロパティおよびパブリック・メソッドのサポートについては、「OracleConnectionクラスのサポート」を参照してください。

OracleConnectionStringBuilder


OracleDataAdapter


OracleDataReader

TimesTenによるこのクラスのプロパティおよびパブリック・メソッドのサポートについては、「OracleDataReaderクラスのサポート」を参照してください。

OracleDataSourceEnumerator


OracleDependency

不可


OracleError


OracleErrorCollection


OracleException


OracleFailoverEventArgs

不可


OracleGlobalization

不可


OracleHAEventArgs

不可


OracleInfoMessageEventArgs


OracleNotificationEventArgs

不可


OracleNotificationRequest

不可


OracleParameter


OracleParameterCollection


OraclePermission


OraclePermissionAttribute


OracleRowsCopiedEventArgs

不可


OracleRowUpdatedEventArgs


OracleRowUpdatingEventArgs


OracleTransaction

TimesTenによるこのクラスのプロパティおよびパブリック・メソッドのサポートについては、「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クラスのサポート

次の表に、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

Dispose

ExecuteNonQuery

ExecuteReader

ExecuteScalar

ExecuteStream

不可

ExecuteToStream

不可

ExecuteXmlReader

不可


OracleConnectionクラスのサポート

次の表に、OracleConnectionクラスのプロパティおよびメソッドのサポートをリストします。

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

プロパティ名 サポート

IsAvailable

不可

ActionName

不可

ClientId

不可

ConnectionString

ConnectionTimeout

Database

不可

DatabaseDomainName

不可

DatabaseName

不可

DataSource

HostName

不可

InstanceName

不可

ModuleName

不可

ServerVersion

ServiceName

不可

State

StatementCacheSize


表7 OracleConnectionクラスのメソッドのサポート

メソッド名 サポート 注意

ClearPool


ClearAllPools


BeginTransaction


ChangeDatabase

不可


Clone


Close


CreateCommand


EnlistDistributedTransaction

不可

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

EnlistTransaction

不可

EnlistDistributedTransactionを参照してください。

FlushCache

不可


GetSchema

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

GetSessionInfo


Open


OpenWithNewPassword

不可


PurgeStatementCache


SetSessionInfo

不可



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

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クラスのプロパティおよびメソッドのサポートをリストします。

表8 OracleDataReaderクラスのプロパティのサポート

プロパティ名 サポート

Depth

FetchSize

FieldCount

HasRows

HiddenFieldCount

IsClosed

Item

InitialLOBFetchSize

不可

InitialLONGFetchSize

不可

RecordsAffected

不可

RowSize

VisibleFieldCount


表9 OracleDataReaderクラスのメソッドのサポート

メソッド名 サポート

Close

Dispose

GetBoolean

不可

GetByte

GetBytes

GetChar

GetChars

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クラスのプロパティおよびメソッドのサポートをリストします。

表10 OracleTransactionクラスのプロパティのサポート

プロパティ名 サポート

IsolationLevel

Connection


表11 OracleTransactionクラスのメソッドのサポート

クラス名 サポート 注意

Commit


Dispose


Rollback


Rollback(string)

不可

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

Save

不可

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


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

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

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

構造名 サポート

OracleBinary

OracleDate

OracleDecimal

OracleIntervalDS

不可

OracleIntervalYM

不可

OracleString

OracleTimeStamp

OracleTimeStampLTZ

不可

OracleTimeStampTZ

不可


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

クラス名 サポート

OracleTypeException

OracleNullValueException

OracleTruncateException


表14 Oracle.DataAccess.Typesネームスペースのクラスのサポート

クラス名 サポート

OracleArrayMappingAttribute

不可

OracleBFile

不可

OracleBlob

不可

OracleClob

不可

OracleCustomTypeMappingAttribute

不可

OracleObjectMappingAttribute

不可

OracleRef

不可

OracleRefCursor

OracleUdt

不可

OracleXmlStream

不可

OracleXmlType

不可


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

インタフェース名 サポート

IOracleArrayTypeFactory

不可

OracleCustomType

不可

IOracleCustomTypeFactory

不可

INullable


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

列挙名 サポート

OracleUdtFetchOption

不可

OracleUdtStatus

不可


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

オラクル社は、障害のあるお客様にもオラクル社の製品、サービスおよびサポート・ドキュメントを簡単にご利用いただけることを目標としています。オラクル社のドキュメントには、ユーザーが障害支援技術を使用して情報を利用できる機能が組み込まれています。HTML形式のドキュメントで用意されており、障害のあるお客様が簡単にアクセスできるようにマークアップされています。標準規格は改善されつつあります。オラクル社はドキュメントをすべてのお客様がご利用できるように、市場をリードする他の技術ベンダーと積極的に連携して技術的な問題に対応しています。オラクル社のアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/accessibility/を参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

スクリーン・リーダーは、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧のみを行に記述する必要があります。しかし、一部のスクリーン・リーダーは括弧のみの行を読まない場合があります。

外部Webサイトのドキュメントのアクセシビリティについて

このドキュメントにはオラクル社およびその関連会社が所有または管理しないWebサイトへのリンクが含まれている場合があります。オラクル社およびその関連会社は、それらのWebサイトのアクセシビリティに関しての評価や言及は行っておりません。

Oracleサポートへのアクセス

Oracleカスタマは、My Oracle Supportから電子サポートにアクセスできます。詳細は、http://www.oracle.com/support/contact.htmlまたはhttp://www.oracle.com/accessibility/support.html(聴覚障害者向け)を参照してください。


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

B66455-01

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

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

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

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

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

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

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

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