ヘッダーをスキップ
Oracle Databaseプラットフォーム共通日本語README
11g リリース2(11.2)
B56292-13
  目次
目次

前
 
次
 

Oracle JDBC Drivers README

原典情報: $ORACLE_HOME/jdbc/Readme.txt


目次

このリリースの新機能

ドライバのバージョン

このリリースの内容

NLS拡張機能のjarファイル(クライアント側のみ)

インストール

環境の設定

JDBCドライバ使用時に役立つヒント

Javaストアド・プロシージャ

既知の不具合

このリリースの既知の問題/制限事項


このリリースの新機能

ユニバーサル接続プール

このリリースでは、Oracleの暗黙的な接続キャッシュ機能は非推奨になっています。かわりに、新しいユニバーサル接続プールの使用をお薦めします。ユニバーサル接続プールには、暗黙的な接続キャッシュ機能のすべてだけでなく、その他の機能も含まれています。ユニバーサル接続プールは別のjarファイル、ucp.jarにあります。

列のセキュリティ

表がXDS(eXtensible Data Security)対応になっている場合、セキュリティの制約によっては、一部のオブジェクト(または行)がユーザーから見えないことがあります。さらに、オブジェクト(または行)が表示可能でありながら、一部の属性(または列)が表示されないことがあります。11gR2以降は、JDBCドライバはこうした新しいセキュリティ属性をサポートしており、特定の列にセキュリティ属性があるかどうか、列の値がNULLなのは、非表示のためか、実際にNULLのためかをユーザーが確認できます。

セキュアLOB

Oracle Database 11.1のセキュアLOB機能のサポートが追加されました。

LOBデータのロケータ内格納

Database 10.2からは、データベース内の行に格納されている小規模なLOBについては、データをロケータ自体に格納できるようになりました。これは、対象のデータが3898バイト以下の場合のみです。このデータの読取りは、Database バージョン10.2の場合のみ、JDBCドライバでサポートされます。Database バージョン11.1からは、LOBプリフェッチが使用されます。

LOBプリフェッチ

ロケータとともにLOBの初期バイトまたは文字をフェッチすることによって、一部のLOBの読取り操作のパフォーマンスが向上します。数千バイトに満たない非常に小規模なLOBの場合は、全体のLOB値をフェッチできます。これによって、非常に小規模なLOBでの読取りと、すべてのLOBでの初期バイトや文字の読取りのパフォーマンスが向上します。この機能は、Database バージョン11.1からサポートされています。LOBデータのロケータ内格納機能は、LOBプリフェッチ機能によって置き換えられ、使用時には無効となります。

ネットワーク接続プール

ネットワーク接続プールは、複数のjava.sql.接続オブジェクトが限られた数のネットワーク・レベル・チャネルを共有できるようにします。それぞれの接続は、単一のデータベース・セッションに関連付けられます。接続オブジェクトは、ネットワーク・チャネルを介してセッションと通信します。ネットワーク接続プールが有効な場合、ネットワーク・チャネルは複数の接続/セッションのペア間で共有されます。場合によっては、これでクライアントとサーバーの両方で消費されるリソースが少なくなり、パフォーマンスとスケーラビリティが向上することがあります。

AQでのXMLTypeキューのサポート

Oracle Database 11gR1 JDBCは、Oracleアドバンスト・キューへの高速アクセスを実現しました。このリリースでは、SQL XMLTypeを使用するキューへの高速パフォーマンスのアクセスを提供することで、このサポートを拡張しています。

AQとDCNでの通知グループ化

通知のグループ化は、Database 11gR1に含まれていたJDBC通知の新機能で、AQ通知とデータベース変更通知を含みます。たとえば、60秒ごとに通知をグループ化するようデータベースに指示できるようになりました。通知のグループ化を使用する場合、直前の通知または通知のサマリーを取得するかを選択できます。

タイムゾーンのパッチ適用

クライアントのJava環境で直接サポートされていないタイムゾーンのサポートが強化されました。

メモリー・フットプリントの削減

10gR1では、特に文のキャッシュ(推奨)を使用している場合にメモリー・フットプリントが増加するのを承知の上で、パフォーマンスを向上するためにドライバを再構築しました。パフォーマンスは向上しましたが、メモリー・フットプリントが増加すると問題があることがわかりました。リリース11gR1では、パフォーマンスの改善をそのままにして、ほとんどのユーザーについてメモリー・フットプリントを小さくしました。11gR2リリースでは、必要とするユーザーのサブセットのためにチューニング・オブジェクトをいくつか提供します。これは、多数の接続と文のキャッシュを大量に持つユーザーです。詳細は、oracle.jdbc.OracleConnection.CONNECTION_PROPERTY_USE_THREADLOCAL_BUFFER_CACHEとCONNECTION_PROPERTY_MAX_CACHED_BUFFER_SIZEのJavaDocを参照してください。ヒープが不足している場合を除き、このことを問題視する必要はありません。

ドライバのバージョン

11R2リリースには、次のドライバ・バージョンがあります。

  - JDBC Thinドライバ11R2
    クライアント・アプリケーション、中間層サーバーおよびアプレット用の100% Javaクライアント側JDBCドライバ。
  - JDBC OCIドライバ11R2
    OCI 11R2がインストールされているマシン用のクライアント側JDBCドライバ。
  - JDBC Thinサーバー側ドライバ11R2
    リモートOracleデータベースにアクセスするデータベース内のJavaプログラム用のJDBCドライバ。
  - JDBCサーバー側内部ドライバ11R2
    Javaストアド・プロシージャ用のサーバー側JDBCドライバ。このドライバはJDBC Kprbドライバと呼ばれていました。

詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。

このリリースの内容

全プラットフォーム

[ORACLE_HOME]/jdbc/libには、次のファイルが含まれています。

  - ojdbc5.jar
    JDK 1.5用のクラス。OracleのObject型およびCollection型によるNLSサポート用のクラスを除く、
    JDBCドライバ・クラスが含まれています。
  - ojdbc5_g.jar
    ojdbc5.jarと同じですが、クラスはjavac -gを使用してコンパイル済で、トレース・コードが含まれています。
  - ojdbc5dms.jar
    ojdbc5.jarと同じですが、DMSおよび制限付きjava.util.loggingコールをサポートするための
    インスツルメンテーションが含まれています。
  - ojdbc5dms_g.jar
    ojdbc5_g.jarと同じですが、DMSをサポートするためのインスツルメンテーションが含まれています。
  - ojdbc6.jar
    JDK 1.6用のクラス。OracleのObject型およびCollection型によるNLSサポート用のクラスを除く、
    JDBCドライバ・クラスが含まれています。
  - ojdbc6_g.jar
    ojdbc6.jarと同じですが、javac -gを使用してコンパイルされ、トレース・コードが含まれています。
  - ojdbc6dms.jar
    ojdbc6.jarと同じですが、DMSおよび制限付きjava.util.loggingコールをサポートするための
    インスツルメンテーションが含まれています。
  - ojdbc6dms_g.jar
    ojdbc6_g.jarと同じですが、DMSをサポートするためのインスツルメンテーションが含まれています。

注意:

jarファイルのdmsバージョンは標準のjarファイルと同じですが、Oracle Dynamic Monitoring Serviceをサポートするための追加コードが含まれています。含まれるトレース・コードの量は制限されています。dms.jarがCLASSPATHにある場合のみ使用できます。dms.jarは、Oracle Application Serverのリリースに含まれて提供されています。そのため、jarファイルのdmsバージョンを使用できるのは、Oracle Application Server環境のみです。

[ORACLE_HOME]/jdbc/doc/javadoc.tarには、Oracle JDBCのパブリック・クラスのパブリックAPIに関するJDBC Javadocが含まれています。このJavaDocは、Oracle JDBC API拡張機能の主要な参照ドキュメントです。『Oracle Database JDBC開発者ガイドおよびリファレンス』には、Oracleの拡張機能に関する高度な説明が記載されています。詳細はこのJavaDocに記載されています。JavaDocは、開発ガイドと同様に正式なドキュメントです。

[ORACLE_HOME]/jdbc/demo/demo.tarには、JDBCのサンプル・プログラムが含まれています。

[ORACLE_HOME]/jlib/orai18n.jarには、JDK 1.5および1.6で使用するNLSクラスが含まれています。OracleのObject型とCollection型によるNLSサポート用のクラスが含まれています。このjarファイルにより、古いnls_charset jar/zipファイルが置き換えられます。Oracle 10g R1リリース1(10.1)では、このファイルは[ORACLE_HOME]/jdbc/libにも重複して存在しました。この重複したコピーは削除されたため、前述の位置からこのファイルを取得する必要があります。

Windowsプラットフォームの場合

  [ORACLE_HOME]\binディレクトリには、JDBC OCIドライバ用ライブラリocijdbc11.dllおよびheteroxa11.dllがあります。

Windows以外のプラットフォームの場合

  [ORACLE_HOME]/libディレクトリには、JDBC OCIドライバ用の共有ライブラリlibocijdbc11.so、libocijdbc11_g.so、
  libheteroxa11.soおよびlibheteroxa11_g.soがあります。

NLS拡張機能のjarファイル(クライアント側のみ)

サーバー側内部JDBCドライバは完全なNLSサポートを提供します。NLS拡張機能のjarファイルは不要です。この項の説明は、Oracle JDBC ThinドライバとOracle JDBC OCIドライバにのみ適用されます。

基本のjarファイル(ojdbc5.jarおよびojdbc6.jar)には、次のように完全なNLSサポートの提供に必要なクラスがすべて含まれています。

  - OracleのObject型またはCollection型のデータ・メンバーとして取得または挿入されない
    CHAR/VARCHAR/LONGVARCHAR/CLOB型データ用のOracleキャラクタ・セット。
  - 共通に使用される少数のキャラクタ・セット用のObject型とCollection型のCHAR/VARCHARデータ・メンバーに対するNLSサポート。
    この種のキャラクタ・セットは、US7ASCII、WE8DEC、WE8ISO8859P1、WE8MSWIN1252およびUTF8です。

Object型またはCollection型のCHAR/VARCHARデータ・メンバーに他のキャラクタ・セットを使用する必要がある場合は、CLASSPATHにNLS拡張機能のjarファイル([ORACLE_HOME]/jlib/orai18n.jar)を含める必要があります。新規のorai18n.jarにより、9i以前のリリースのnls_charset*.*ファイルが置き換えられます。

ファイルorai18n.jarには、文字に関連する重要なファイルが多く含まれています。これらのほとんどのファイルは、グローバリゼーション・サポートのために必要です。アプリケーションで使用するキャラクタ・セット・ファイルのみを抽出するのではなく、次の3つの手順に従うことが最も安全です。1. orai18n.jarを一時ディレクトリに解凍します。2. アプリケーションで使用しないキャラクタ・セット・ファイルを削除します。地域ファイル、照合順番ファイルまたはマッピング・ファイルは削除しないでください。3. 一時ディレクトリで新しいorai18n.jarファイルを作成し、変更したファイルをCLASSPATHに追加します。詳細は、JDBCの開発者ガイドを参照してください。

また、各国対応のJDBCエラー・メッセージ・ファイルを選択的に含めることもできます。メッセージ・ファイルは、ojdbc5*.jarおよびojdbc6*.jar内のoracle/jdbc/driver/Messages_*.propertiesファイルに含まれています。

インストール

CLASSPATHには、Oracle JDBC Driversの複数バージョンを指定しないでください。Oracle Installerを実行すると、Oracle JDBC Driversが[ORACLE_HOME]/jdbcディレクトリにインストールされます。

環境の設定

Windowsプラットフォームの場合:
  - JDK 1.5を使用する場合は[ORACLE_HOME]\jdbc\\lib\\ojdbc5.jarを、JDK 1.6を使用する場合は
    [ORACLE_HOME]\jdbc\\lib\\ojdbc6.jarをCLASSPATHに追加します。
  - 必要な場合は、CLASSPATHに[ORACLE_HOME]\jlib\\orai18n.jarを追加します。
  - JDBC OCIドライバを使用する場合は、PATHに[ORACLE_HOME]\binを追加します。
Solaris/HP Tru64 Unixの場合:
  - JDK 1.5を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc5.jarを、
    JDK 1.6を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc6.jarをCLASSPATHに追加します。
  - 必要な場合は、CLASSPATHに[ORACLE_HOME]/jlib/orai18n.jarを追加します。
  - JDBC OCIドライバを使用する場合は、LD_LIBRARY_PATHに[ORACLE_HOME]/jdbc/libを追加します。
HP/UXの場合:
  - JDK 1.5を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc5.jarを、
    JDK 1.6を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc6.jarをCLASSPATHに追加します。
  - 必要な場合は、CLASSPATHに[ORACLE_HOME]/jlib/orai18n.jarを追加します。
  - JDBC OCIドライバを使用する場合は、SHLIB_PATHおよびLD_LIBRARY_PATHに[ORACLE_HOME]/jdbc/libを追加します。
AIXの場合:
  - JDK 1.5を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc5.jarを、
    JDK 1.6を使用する場合は[ORACLE_HOME]/jdbc/lib/ojdbc6.jarをCLASSPATHに追加します。
  - 必要な場合は、CLASSPATHに[ORACLE_HOME]/jlib/orai18n.jarを追加します。
  - JDBC OCIドライバを使用する場合は、LIBPATHおよびLD_LIBRARY_PATHに[ORACLE_HOME]/jdbc/libを追加します。

JDBCドライバ使用時に役立つヒント

Oracle JDBC Driversの使用方法の詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。この項では、ヒントのみを説明します。これらのヒントは網羅的ではありません。

あくまでもJDBCプログラムで必要な事項です。

  1. JDBCを使用するプログラムに必要なJDBCクラスをインポートします。
    次に例を示します。

        import java.sql.*;
        import java.math.*; // if needed
    

    OracleDataSourceを使用するには、次のように入力する必要があります。

        import oracle.jdbc.pool.OracleDataSource;
    
  2. OracleDataSourceインスタンスを作成します。

        OracleDataSource ods = new OracleDataSource();
    
  3. デフォルトのプロパティを使用しない場合は、必要なプロパティを設定します。JDBCドライバごとに異なる接続URLを使用する必要があります。

        ods.setUser("my_user");
        ods.setPassword("my_password");
    

    JDBC OCIドライバの場合

        Bequeathed接続を確立するには、URLを次のように設定します。
        ods.setURL("jdbc:oracle:oci:@");
    
        リモート接続を確立するには、URLを次のように設定します。
        ods.setURL("jdbc:oracle:oci:@<database>");
    
        <database>はTNSEntryNameか、またはtnsnames.oraに定義されたSQL*netの名前/値ペアです。
    
    

    JDBC Thinドライバまたはサーバー側Thinドライバの場合

        ods.setURL("jdbc:oracle:thin:@<database>");
    
        <database>は、//<host>:<port>/<service_name>形式の文字列、SQL*Netの名前/値ペア、またはTNSEntryNameです。
    

    サーバー側JDBC内部ドライバの場合

        ods.setURL("jdbc:oracle:kprb:");
    
        後続の「:」が必要であることに注意してください。サーバー側内部ドライバを使用する場合は、
        常に実行中のデータベースに接続します。また、次のように指定できます。
    
        Connection conn =
          new oracle.jdbc.OracleDriver().defaultConnection();
    
  4. OracleDataSourceクラスに定義されているgetConnection()メソッドを使用して、データベースへの接続をオープンします。

        Connection conn = ods.getConnection();
    

Javaストアド・プロシージャ

OracleのObjectを使用したコールインとインスタンス・メソッドの例は、次のファイルにあります。

  [ORACLE_HOME]/javavm/demo/demo.zip

このファイルを解凍すると、次のディレクトリに例が抽出されます。

  [ORACLE_HOME]/javavm/demo/examples/jsp

既知の不具合

Oracle Bug#8343138
owb repoインストール中のjava.lang.ArrayEndexOutOfBoundsException: 2048
Oracle Bug#8304386
スクロール可能なResultSetにエラー処理がなく、NullPointerExceptionがスローされます。
Oracle Bug#8252445
TIMESTAMPのTIMESTAMPTZへの挿入はThinドライバで間違っている可能性があります。
Oracle Bug#8225653
JDBCでアイルランド語/アイルランド(ga_IE)がサポートされていません。
Oracle Bug#8215177
11.1.0.7でのTIMESTAMPTZのパフォーマンスに問題があります。
Oracle Bug#8206371
SQLException: java.io.NotSerializableException: oracle.net.ns.message11
Oracle Bug#7836895
11.1.0.7 JDBCから不適切な文字が返されます。
Oracle Bug#7706602
XMLTYPE列について正しいタイプ#が返されません。
Oracle Bug#7704823
pe: eoostmt.cがjavavm_main_hpux.ia64_081230でコンパイルに失敗します。
Oracle Bug#7651637
10.xおよび11.xにアップグレードした後、メソッドisBeforeFirst()が正しく動作しません。
Oracle Bug#7627150
SSLまたは暗号化/チェックサムが有効になっている場合、SecureFile LOBへのアクセスによってJDBC Thinが解除されます。
Oracle Bug#7585931
TIMESTAMPTZコンストラクタが提供されているパラメータを上書きできます。
Oracle Bug#7581389
getGeneratedKeysとCURSOR_SHARING=SIMILARの使用時にプロトコル違反エラーが発生します。
Oracle Bug#7578881
グローバル・トランザクションの終了後にautocommitがfalseに設定されます。
Oracle Bug#7576651
データベースからデータを選択する際に、次の例外「java.sql.SQLException: カーネル列の順序はサポートされていません」が発生します。
Oracle Bug#7554059
getRow()が正しい行数を返しません。
Oracle Bug#7553583
この修正以前は、同じ索引にinパラメータが設定されていないCallableStatementのoutパラメータから一時LOBが取得された場合、この文の2回目の実行によって最初の一時LOBが解放されます。
Oracle Bug#7528681
デリミタに{ and }を使用したq'リテラルがSQLに含まれている場合にエラーが発生します。
Oracle Bug#7503269
パラメータelemMaxLenをゼロに設定した状態でsetPLSQLIndexTableを呼び出すとORA-1460が発生します。
Oracle Bug#7481206
データベースにサポートされていないタイムゾーンがあると、JDBCが開いたまま孤立したカーソルが残されます。
Oracle Bug#7460022
CustomDatumが渡されるときにARRAY.toARRAYからClassCastExceptionが発生します。
Oracle Bug#7449648
シノニムを持つoracle.sql.ArrayDescriptor.getbasenameを使用した場合に内部エラーが発生します。
Oracle Bug#7431931
Norwegian BokmC%lへのJDBCサポートが追加されました。
Oracle Bug#7427651
oracle.sql.dateによるBCデータの変換で年号が失われます。
Oracle Bug#7424490
TIMESTAMP型の読取り時にArrayOutOfBoundsExceptionが発生します。
Oracle Bug#7422965
シノニムを介した挿入に失敗します。
Oracle Bug#7418148
PreaparedLtatment.setXXXStreamで空でNULLのストリームが発行されます。
Oracle Bug#7413658
STRUCTまたはARRAYから取得されたBLOBまたはCLOBインスタンス上でfreeTemporaryが呼び出されたときに起こる可能性のあるOCI-21500エラーを修正します。
Oracle Bug#7407996
閉じられたJDBC接続上でXA操作が行われようとした際に、RMFAILではなくRMERR型のXA例外が送信されます。
Oracle Bug#7382521
無効な接続を削除するためにプールされた接続キャッシュをリフレッシュすると、完全に有効な物理的接続が閉じられて再度開かれることがあります。
Oracle Bug#7381439
resultsetを閉じようとするとスピンが発生します。
Oracle Bug#7365373
ADTに対してwasNull()が機能しません。
Oracle Bug#7365036
oracle.sql.TIMESTAMPTZ.toTimeが正しい値を返しません。これは、スクロール可能な結果セットでgetTimeを呼び出すときに最も顕著です。
Oracle Bug#7360273
XAのパフォーマンスを改善します。
Oracle Bug#7356957
setCharacterStream()を調整します。
Oracle Bug#7346587
getTypeDescriptorsFromListなどのTypeDescriptorsのバルク・ロード・メソッドが、原始要素型を持つARRAY型の正しい形式の記述子を作成しません。setConnectionメソッドでのARRAYオブジェクトの作成がNullPointerExceptionsによって失敗します。
Oracle Bug#7340408
TIMESTAMPLTZ列でgetTime()を使用すると、正しい値が返されないことがあります。
Oracle Bug#7331329
ojdbc6.jarをJDK6とともに使用する場合、NCHAR、NVARCHARまたはNCLOBの列のResultSetMetaDataが新しいJDBC 4.0 N*型で識別されるようになりました。
Oracle Bug#7304027
getBooleanの一貫した動作です。
Oracle Bug#7288889
ドライバが正しい内部データのバッファ・サイズを格納しません。これは、ドライバが必要とする以上のバッファを使用しようとすることがあるため、メモリーの少ない状態で問題となる恐れがあります。メモリーの少ない状態を除いては、問題ではありません。また、修正によって新しい接続プロパティoracle.jdbc.maxCachedBufferSizeが追加され、これによって、再利用するためにキャッシュするデータ・バッファのサイズが制限されます。データ・バッファのサイズは、各文にフェッチ・サイズを適切に設定することで管理する方が望ましいですが、それが不可能な場合は、maxCachedBufferSizeを設定すると、メモリー・フットプリントを少なくできます。ただし、最大値を超えるバッファを必要とする文のパフォーマンスは、低下します。
Oracle Bug#7284982
XAResourceが内部リストから正しく領域を解放しないことがあります。
Oracle Bug#7280437
廃止されたCatlanメッセージ・ファイルを削除します。
Oracle Bug#7271988
バッチ実行時のPreparedStatement.setBytesの動作エラーが修正されました。
Oracle Bug#7271519
範囲外のOracle dateデータ型がデータベースに挿入されることがあります。
Oracle Bug#7249052
無効なOracle DATEの値が作成される可能性があります。
Oracle Bug#7248917
新しいJDBC4.0メソッドのUpdatableResultSetへの実装を完了します。
Oracle Bug#7243157
9999を超える年号を持つ日付を使用するときに適切なエラーを出力します。
Oracle Bug#7236518
ターゲット・オブジェクトがビューで、OCI接続が使用中の場合に、返された生成済のキーによるINSERTが失敗します。
Oracle Bug#7230912
ojdbc5.jarまたはojdbc6.jarをbootclasspathに追加すると、NullPointerExceptionが発生します。
Oracle Bug#7206547
特定のエラーによって、より具体的なコードではなく、デフォルトのSQLSTATEコード99999が生成されます。
Oracle Bug#7204773
文字列にNumeric型を持つSetObjectでNumberFormatExceptionがスローされます。
Oracle Bug#7193728
XA例外が見つかりません。ユーザーがデータベースからこのエラー・メッセージを取得できません。
Oracle Bug#7190386
ANYDATA.stringValue()が単独で作成されると、NullPointerExceptionがスローされます。
Oracle Bug#7189306
Timestamp型の挿入時にパフォーマンスが低下します。
Oracle Bug#7171343
選択されたUROWIDがROWID.stringValue()から出力できません。
Oracle Bug#7167966
setXXXStream位置の変数が位置として0を受け入れます。これは、1が最初の位置であるというJDBCの仕様に矛盾します。JDBC仕様では、位置が0の場合に例外が出力される必要があります。以前の正しくない動作を復元する接続プロパティについてはJavaDocを参照してください。
Oracle Bug#7157850
BlobがRowsetから取得された際にBlob.position(Blob, long)が機能しません。
Oracle Bug#7157670
JDBC 4.0メソッドがOracleSerialClob & OracleSerialBlobで正しく機能しません。
Oracle Bug#7154611
デフォルトのロケールがタイまたはそれと同等に設定されている場合、タイムスタンプが正しくありません。
Oracle Bug#7154221
OPAQUE型のフェッチ中にArrayOutOfBoundsExceptionが発生します。
Oracle Bug#7149854
バッチの使用時に正しくないデータが挿入されます。
Oracle Bug#7145669
TYPE_SCROLL_INSENSITIVEの結果セットで、blob列へのバイト取得を呼び出すと無効な列タイプエラーが発生します。
Oracle Bug#7139205
OracleCachedRowset.setTimestamp(int,timestamp,calendar)の後でexecute()が失敗します。
Oracle Bug#7138794
OracleCachedRowset.setBytesが呼び出された後、execute()でClassCastExceptionが発生します。
Oracle Bug#7125637
JDBCドライバがOCI_ATTR_DRIVER_NAMEをサポートしません。
Oracle Bug#7120672
11.2から11.1またはそれ以前のバージョンに接続できません。
Oracle Bug#7120523
OracleCachedRowset.updateXXXStream/updateClob/updateBlobが機能しません。
Oracle Bug#7119903
OracleCachedRowset.getNClobが機能しない
Oracle Bug#7115140
Clob.getCharacterStream(long pos, long length)が機能しません。
Oracle Bug#7115040
OracleCachedRowSetから返されたCLOBでclob.getSubstringが十分に機能しません。
Oracle Bug#7112447
自動生成されたキーを返す8つ以上のパラメータを持つ文を実行すると、ArrayIndexOutOfBoundsがスローされます。「:1」、「:2」、「:3」のような単純な整数パラメータ名を持つ指定パラメータを使用しないでください。この制限には今後のリリースで対処する予定です。
Oracle Bug#7110777
パッチ6669350の適用後にsetBinaryStreamがJAVA.SQL.SQLRECOVERABLEEXCEPTION: IO EXCEPTIONがスローされます。
Oracle Bug#7110696
setAsciiStreamを使用するときにJDBC 11.1.0.6 Appが停止します。
Oracle Bug#7030404
暗黙的なJDBC接続キャッシュのタイムアウトによってデッドロックが発生します。
Oracle Bug#7030220
JDBC4.0におけるメソッドgetFunctionParametersは、最終仕様でgetFunctionColumnsに改名されました。廃止されたメソッドの実装が誤ってoracle.jdbc.OracleDatabaseMetaDataに残されていました。この修正により、それが削除されます。
Oracle Bug#7030194
更新可能なResultSetに長さのパラメータを持たないupdateAscii/Binary/NcharacterStreamメソッドがありません。
Oracle Bug#7028633
resultsetsに関するTIMESTAMPLTZの問題が発生します。
Oracle Bug#7028625
DST切替えの際にTIMEZONETZでDSTの問題が発生します。
Oracle Bug#7019862
defineColumnTypeを使用してCHARまたはVARCHAR列をBINARY、VARBINAR YまたはLONGVARBINARYとして定義すると、Thinドライバを使用する場合に値が正しく解析されません。
Oracle Bug#7017170
ストリームの読込み中にJdbc-ociがスピンになります。
Oracle Bug#7009957
devブランチonlueに適用します。
Oracle Bug#7009875
年号が9999を超えたときのエラー処理が改善されます。
Oracle Bug#7009796
BLOB列でgetStringやgetNStringを呼び出すと、データがNULLでなくてもNULLが返されることがあります。
Oracle Bug#7009536
スクロール可能な結果セットについてgetNClobが例外をスローします。
Oracle Bug#7004166
列がスクロール可能な結果セットのDATEである場合、getTIMESTAMPが例外をスローします。
Oracle Bug#6998442
JDBC OCIおよびプロキシ認証に関するOCI-21710エラー
Oracle Bug#6997621
getTimeやgetIntなどのメソッドが、スクロール可能な結果セットのCHARデータに対して機能しません。
Oracle Bug#6994043
スクロール可能または更新可能な結果セットのNULLの文字値でgetURLを呼び出すと、NULLが返されるのではなく、例外がスローされます。
Oracle Bug#6991804
スクロール可能な結果セットからgetBytes()を呼び出すと、例外がスローされます。
Oracle Bug#6991207
BINARY_FLOATの.floatValue、.doubleValueおよび.bigDecimalValue、BINARY_DOUBLEの.doubleValueおよび.bigDecimalValue
Oracle Bug#6989806
LOBを使用したJdbc-OCIドライバを使用するマルチスレッド・プログラムで、この修正がなければ予期しないエラーが発生します。
Oracle Bug#6988302
defineColumnTypeの問合せを実行中にORA-01460が発生します。
Oracle Bug#6987800
更新可能な結果セットでのgetURLの呼出しで例外が発生します。
Oracle Bug#6977990
取得されたタイムスタンプがセッションのタイムゾーンとオーバーラップする夏時間の場合、TIMESTAMPLTZの値が不適切になります。
Oracle Bug#6924460
OracleXADataSourceがURLで指定されるユーザー/パスワードをサポートしていません。
Oracle Bug#6919246
getCursorを呼び出して返されたResultSetを閉じ、親の文を閉じない場合に、メモリー・リークが発生します。
Oracle Bug#6907759
JDBC Thinドライバがリスナーにプログラム名を移入しません。
Oracle Bug#6902740
InputStreamsおよびReadersのバッファ・サイズは、サイズが32KBより大きいユーザー読取りコールのサイズに適合します。
Oracle Bug#6899821
blob列のkprbドライバでsetBytesとsetBinaryStreamにデータ破損
Oracle Bug#6892983
更新可能なResultset(RESULTSET.CONCUR_UPDATABLE)によってバインド変数が不正に使用されます。
Oracle Bug#6889743
スクロール可能なResultSetが切り捨てられた文字データを返します。
Oracle Bug#6887548
jdbcを介してplsql関数を実行すると、エラー・メッセージなしにゼロが返されます。
Oracle Bug#6883730
メモリーが少ない場合にネイティブ・コードでメモリー・アクセス・エラーが発生する可能性があります。
Oracle Bug#6882024
バインド値を持たないPreparedStatementとaddBatchをともに使用すると、1行のみ挿入されます。
Oracle Bug#6880991
この不具合が原因で、暗号化にSSLを、認証にRADIUSを使用することができません。
Oracle Bug#6870832
DST切替え時期にTIMESTAMPLTZが1時間進みます。
Oracle Bug#6857474
Oracleプロセスがクリーンアップされておらず、スナイプ接続を閉じられません。
Oracle Bug#6855076
Oracle JDBC XA接続の使用時に、コマンド'ALTER SYSTEM KILL SESSION'を使用して接続が解除されると、JDBCドライバが誤ってXAER_RMERRを返します。想定される正しい結果はXAER_RMFAILです。
Oracle Bug#6845838
型がAnydataとして宣言されると正しいデータが返されません。
Oracle Bug#6838596
ある文がカーソルを返す場合、文をキャンセルしてもカーソルの値を取得している問合せの実行が取り消されません。
Oracle Bug#6826205
Nounが破棄された後でDMS Nounが使用されます。
Oracle Bug#6806207
bndが最初にNULLでバインドされる場合にSelect :bndが失敗します。
Oracle Bug#6799742
MANIFEST.MFファイルのフィールドが推奨の形式ではありません。
Oracle Bug#6764986
パブリック・コール専用に構成されている場合でも、パブリックAPIを持つメソッドに対する4つのJDBC内部コールがトレース・ログに表示されます。
Oracle Bug#6761190
PreparedStatement.executeBatch()とともに使用するとStatement.Cancel()が機能しません。
Oracle Bug#6758976
ビューまたはシノニムが関係する問合せがJDBCによって発行されると、正しい結果が取得されません。
Oracle Bug#6753667
JDBC ThinドライバでXMLType問合せがサポートされていません。
Oracle Bug#6750400
文のDMS Noun名がSQL文字列です。
Oracle Bug#6749708
ASCIIでない文字がJDBC Thin接続によって変換されません。
Oracle Bug#6749302
DSTの切替え時期にタイムスタンプが正確でなくなります。
Oracle Bug#6730535
DMLがRETURNING句を含んでいると誤って判断する結果、JDBCがエラーを出力します。
Oracle Bug#6679278
INTERVALDSの使用時に正しい値が挿入されません。
Oracle Bug#6670871
Thinドライバにより、正しいデータベース・バージョンが戻されません。
Oracle Bug#6669350
接続キャッシュ属性の設定を特定の順序で行う必要があります。
Oracle Bug#6668623
JDBCドライバにより、大量のメモリーが消費されます。アプリケーションはOracle JDBCの暗黙的文キャッシュを使用します。このキャッシュには多数のオープン接続が含まれており、使用されるのは常に少数の接続のみです。その他すべての接続は使用されず、それらの接続内の文はすべてクローズされています。
Oracle Bug#6661592
DatabaseMetaData.getColumnsにより、シノニムのスキーマではなく、ターゲット表のスキーマが戻されます。
Oracle Bug#6658080
接続プロパティoracle.net.wallet_locationが適切に処理されません。
Oracle Bug#6655200
PKCS12ウォレットを使用している場合は、OracleのPKIプロバイダを使用する必要があります。java.securityを使用して静的に有効化されている場合、Javaコードでインスタンス化する必要もあります。インスタンス化しないと使用できません。これは不具合で、ユーザー・コードではなくドライバによりインスタンス化する必要があります。
Oracle Bug#6654960
orai18n.jarがクラスパスに含まれていない場合、AQ通知イベントで文字列が正しく処理されません。
Oracle Bug#6638862
接続キャッシュ属性の設定を特定の順序で行う必要があります。
Oracle Bug#6632928
OracleConnection.getEncryptionAlgorithmNameにより、接続でSSLの使用時に使用されていた暗号が戻されません。
Oracle Bug#6632613
JDBC Thinドライバで、TLS_RSA_WITH_AES_128_CBC_SHAおよびTLS_RSA_WITH_AES_256_CBC_SHA暗号化を使用できるようになりました。
Oracle Bug#6629144
入力文字列にUnicodeの置換文字が含まれている場合の例外
Oracle Bug#6611596
トランザクションが一時停止モードにあるときにend(SUCCESS)が正しく機能していませんでした。この修正により機能するようになりました。
Oracle Bug#6611225
T4C8TTIudsが原因のメモリー・リーク
Oracle Bug#6601831
標準のバッチ呼出し中にORA-01459とともにJDBC OCIドライバ・エラーが発生します。
Oracle Bug#6599470
UpdateCharacterStreamへの呼出しがjava.lang.OutOfMemoryErrorにより失敗します。
Oracle Bug#6598195
getTIMESTAMP、get TIMESTAMPLTZなどにより返されたタイムスタンプにナノ秒がありません。
Oracle Bug#6531778
一部のSQL92 escape関数が実装されていませんでした。この修正によって、実装可能なすべての関数が追加されました。
Oracle Bug#6525017
oracle.sql.Datumサブクラスのインスタンスをシリアライズすると、例外として表示されます。
Oracle Bug#6522973
checkErrorからのOCIドライバの使用中にNullPointerExceptionが発生します。
Oracle Bug#6522392
DatabaseMetaData.getColumns()の使用時にNCHAR/NVARCHAR2について返された列サイズが2倍になります。
Oracle Bug#6496226
ストリームに書き込まれたバッファのサイズがMB単位の場合、java.sql.Blob.setBinaryStreamから取得したストリームと、CLob.setCha racterStreamおよびsetAsciiStreamの使用が遅くなります。
Oracle Bug#6491743
プールされた接続にセーブポイントを使用すると例外が発生します。
Oracle Bug#6474141
Nullの列に大量のメモリーが使用されます。
Oracle Bug#6459503
DatabaseMetadata.getFunctionsにより戻される結果セットに、FUNCTION_TYPE列が含まれません。
Oracle Bug#6454501
KAZAKH言語のサポート
Oracle Bug#6453298
ユーザー言語が"sr"に設定してある場合、SQLExceptionがスローされます。
Oracle Bug#6445341
データベースとの通信中に、JDBCメソッドNamespace.setAttributeのDMSバージョンによりNullPointerExceptionがスローされます。
Oracle Bug#6443045
Null属性を持つ構造体がバインドされると、ORA-00600が発生します。
Oracle Bug#6441084
TIMESTAMPTZおよびTIMESTAMPLTZのResultSetMetaData.GetColumnTypeNameが説明的ではありません。
Oracle Bug#6431772
Blob/ClobでのJDBC 4.0: 複数解放によってSQLExceptionが発生します。
Oracle Bug#6407808
ドライバによってPooledConnectionsでイベントが発生しなくなりました。
Oracle Bug#6406402
setTypeMapにより変数が変更され、2つのエントリが追加されます。この修正により、ドライバの動作が変更され、変数は取得ではなくコピーされます。一部のコードが機能しなくなります。新しい動作はJDBCの仕様に完全に準拠しており、ユーザー・コードを変更する必要があります。これは、ドライバにより変更が行われる場合、またはユーザー・コードによりgetTypeMapがコールされてマップが変更される場合を除き、ユーザー・コードによりsetTypeMapがコールされてマップが変更される場合に発生します。
Oracle Bug#6396398
getClientInfoがNullを返すのでなく、SQLExceptionをスローします。
Oracle Bug#6396242
バッチ・サイズが大きい場合、JDBCの使用中にArrayOutOfBoundsExceptionが発生します。
Oracle Bug#6394952
接続でORA-3113が発生すると、JDBCではユーザーが接続を閉じられなくなります。
Oracle Bug#6373844
JDBC 4.0でサポートされていない機能により、SQLFeatureNotSupportedExceptionがスローされません。
Oracle Bug#6365731
疑問符(?)が含まれているとJDBCでユーザーのパスワードが正しく設定されません。
Oracle Bug#6362104
ロード中に、JDBCドライバによりMalformedObjectExceptionまたはInstanceAlreadyExistsExceptionがスローされます。
Oracle Bug#6342068
妥当性を確認せずに、サーバーにユーザー入力が渡されます。
Oracle Bug#6338825
ONSがダウンしているとoracle.ons.SubscriptionExceptionを捕捉できません。
Oracle Bug#6312064
9i以降、日付コンポーネントを01-Jan-1900に設定するために使用される挿入操作で、データベースにTime値をバインドすると、メソッドjava.sql.Time().getTime()により日付コンポーネントが切り捨てられません。ただし、JDBCの再構築中、10gではこの動作が変更され、日付コンポーネントはリセットされませんでした。これにより、9iのユーザーに回帰が発生していました。デフォルトで値を01-Jan-1900にリセットすると、これまで4年間フラグを使用してきた10gのユーザーに回帰が発生します。そのため、ドライバにTimeの日付コンポーネントを01-Jan-1900に設定することを強制する新しい接続フラグoracle.jdbc.use1900AsYearForTimeが導入されました。このフラグのデフォルト値はfalseです。
Oracle Bug#6281527
CachedRowsetを使用して挿入されたNullは、再度選択しないと削除できません。
Oracle Bug#6279736
Thinドライバを使用していて9.2データベースに接続しているときは、取消しが機能しません。
Oracle Bug#6275369
JDBC Thinで、IOExceptionのソケットが閉じられません。
Oracle Bug#6267844
ResultSet getAsciiStreamがUTF8データベースの正しい文字を返しません。
Oracle Bug#6241715
接続キャッシュから接続を取得中にNullPointerExceptionが発生します。
Oracle Bug#6238601
OracleDataSource.setLoginTimeoutがImplicitConnectionCacheに影響しません。
Oracle Bug#6216279
不正なtimestamp値の挿入
Oracle Bug#6208793
カーソルとしてフェッチされた場合、thinとociではisBeforeFirstの動作が異なります。
Oracle Bug#6203316
oracle.jdbc.driver.DatabaseError.throwSQLExceptionのNullPointerException
Oracle Bug#6200206
AL16UTF16からUTF16への変換で、サロゲート文字が区別されます。
Oracle Bug#6145041
String[]やchar[]でない配列がsetPlsqlIndexTableを使用してVARCHAR型とバインドされている場合、正しいエラーではなくSQLException(内部エラー)がスローされます。
Oracle Bug#6132499
JDBCが誤ってwe8dec、we8iso8859p1、we8mswin1252を変換用として分類します。
Oracle Bug#6109228
setQueryTimeoutがPreparedStatement.executeBatchとともに機能しません。
Oracle Bug#6084197
サーバーが2Kより大きいデータを送信した場合でも、JDBCクライアントによって文字データが2Kに切り捨てられます。
Oracle Bug#6068533
接続を確立する際に、エラー・コード0によって実際のエラー・コードがマスキングされます。
Oracle Bug#6068467
解放されたLOBロケータに対してisTemprary()がTRUEを返します。
Oracle Bug#6027586
アプリケーション・サーバーが、複数バージョンのJDBCドライバおよびxdb.jarなど複数バージョンの従属するjarをロードできません。
Oracle Bug#6018198
SecureFileとして保存したCLOBを更新するためにCLOB.setString(long, String)をコールすると、OCIドライバではハングします。
Oracle Bug#5976201
更新可能な文を使用中にNullPointerExceptionが発生します。
Oracle Bug#5940568
{ call spLengthTest(?, ?) }などのSQL文字列では、エスケープ形式が使用されている場合、4000を超える長さのVARCHAR OUT引数が不適切に切り捨てられます。begin spLengthTest(?, ?); end;のように、Oracle固有のPL/SQLブロックが使用されている場合には、適切に表示されます。
Oracle Bug#5904762
コミット中に、ネットワークの使用およびRDBMSリソースが過剰になります。
Oracle Bug#5701494
LONG列が続くTIMESTAMPLTZ列が結果セットに含まれている場合、LONG列を読み込むとエラーが発生します。
Oracle Bug#5609480
バッチの実行時、getUpdateCountで不正な値が戻されます。
Oracle Bug#5502145
複数の文を実行する場合に、スクロール可能かつ更新可能なOracleStatementが正しく動作しません。
Oracle Bug#5154482
ドイツ語の特殊文字s(+00DF)を使用してOracleデータベースに接続できません。
Oracle Bug#4689310
パスワードが個別に指定されていると、Thinドライバのプロキシ認証が失敗します。
Oracle Bug#4464146
JDBCドライバが、ユーザーからのJDBC URLについて"jdbc"をチェックしません。
Oracle Bug#4408817
DatabaseMetaData.getSearchStringEscapeによって正しい値が返されません。
Oracle Bug#4390875
Thinドライバは、AL32UTF8のデータベースで、OracleResultSet.getString()の無効な文字に対してNullPointerExceoptionをスローします。
Oracle Bug#4325229
KPRBドライバは、32766以上の文字をデータベースのLONG列に挿入する場合、OraclePreparedStatement.setString()を使用します。データベース・キャラクタ・セットがZHT32TRISの場合は、データの切捨てが発生します。
Oracle Bug#4322830
TIMESTAMP WITH TIME ZONE値のgetTimestampでは、不適切な結果が生成されます。返されるタイムスタンプでは同じ年、月、日、時間、分、秒が出力されますが、多くの場合ミリ秒の値が不適切です。タイムスタンプはUTCタイムゾーンであるため、TIMESTAMP WITH TIME ZONE値が別のタイムゾーンである場合、タイムスタンプの値では同じ値が出力されますが実際には別の時間を表しています。
Oracle Bug#4183785
一部のoracle/netクラスは、ドライバjarおよびnetcf g.jarのようなNET jarで重複しています。
Oracle Bug#3303679
失敗した接続で、正しくない誤解を招くメッセージが表示されます。
Oracle Bug#2696213
パッケージ名やプロシージャ名のシノニムは、ワイルドカードが含まれていなければDatabaseMetaData getProcedureColumnsで追跡されるようになりました。詳細は、javadocを参照してください。
Oracle Bug#2475998
setIncludeSynonymsがtrueの場合、DatabaseMetaData.getColumnsに使用される問合せが非常に遅くなります。
Oracle Bug#2304318
next()がmax_rowsのために失敗したかどうかを知る必要があります。
Oracle Bug#556502
scaleパラメータが予想されるとおりに機能しません。

このリリースの既知の問題/制限事項

次のリストに、既知の問題または制限事項を示します。

Oracle Bug#9467659
番号付け規則に準拠するために、「LOBプリフェッチ・サイズが無効です」のエラー・コードはORA-17360からORA-17267に変更され、「年の値が範囲外です。」のエラー・コードはORA-17361からORA-17268に変更されました。これらのコードは、11.2.0.1で追加されました。
Oracle Bug#8295873
Corridとデキュー条件が重なったときに、SQLExceptionが発生してデキューが失敗します。
Oracle Bug#8236689
行を更新するときにJavaが格納されているPROCによってCPUが過剰に消費されます。
Oracle Bug#8206596
setTimestampによって正しくないTIMESTAMPTZが挿入されました。
Oracle Bug#7833945
t2cconnection.freetemporaryのときにmgwが断続的にORA-21500を報告します。
Oracle Bug#7829722
JDBC Thinが、サポートされていない構成に破損した数値を断続的に挿入します。
Oracle Bug#7653491
stress soa - aq jms topic enqueue sqlが非常に多くのデータベース時間を消費します。
Oracle Bug#7529748
OCIのパフォーマンスの問題
Oracle Bug#7431899
OracleXAConnectionを使用してNullを挿入する際にservererrorトリガーが起動されません。
Oracle Bug#7357124
ResultSet.getRowIdがスクロール可能な結果セットでのVARCHAR2の読込みに失敗します。
Oracle Bug#7357118
ResultSet.getRAWがスクロール可能な結果セットでのVARCHAR2の読込みに失敗します。
Oracle Bug#7357103
ResultSet.getTIMESTAMPTZがスクロール可能な結果セットからのデータの読込みに失敗します。
Oracle Bug#7354593
ResultSet.getDateがVARCHAR2に格納された日付の読込みに失敗します。
Oracle Bug#7351254
ResultSet.getNumberがVARCHAR2に格納された数値の読込みに失敗します。
Oracle Bug#7331353
NVARCHAR2またはNCHARから読み込まれたときにResultSet.getAsciiStreamに問題があります。
Oracle Bug#7165350
getOraclePlsqlIndexTable()/stringValue()によりNullPointerExceptionが発生します。
Oracle Bug#7010112
getXXXStream/getBytes/getStringがBFILEの読込みに失敗します。
Oracle Bug#6902846
JDBC KPRBドライバが、遅延制約の違反に対してエラーを出力しません。
Oracle Bug#6748410
CallableStatementに多くのoutパラメータがある場合、JDBC 10.2.0.3が遅くなります。
Oracle Bug#6668732
ORA-22922: LOB値が存在しません。 - JDBCドライバのバージョン11。密接に関連する不具合が数多くあります。そのどれもが一時LOBに何も行わずに、それらを移動することに関係があります。実際にLOBを変更する場合、エラーは発生しません。
Oracle Bug#6658636
insertRow methodを介してリモート表に挿入する場合の例外
Oracle Bug#6470838
データベース・セッションのロケール選択の互換性の問題を修正する必要があります。
Oracle Bug#6193695
utf8 d/bと各国語キャラクタ・セットでフェイルオーバーを選択した後、疑問符が返されます。
Oracle Bug#6127810
java.sql.SQLException: ORA-22922: LOB値が存在しません。
Oracle Bug#5976230
文へのexecuteBatchが、更新可能なResultSetを閉じるときに失敗します。
Oracle Bug#5478959
addBatchに、格納PROCのJava PreparedStatementクラスを使用する行がありません。
Oracle Bug#5127111
in outパラメータでのsetCharに対するパラメータ・タイプの競合エラー
Oracle Bug#4176026
longからgetCharacterStream()の1MB(333334文字)で333416文字が返されました。
Oracle Bug#4092459
getConnectionにおける不完全/不正確なログイン・タイムアウトのサポート