reserved.制限付権利の説明このプログラム(ソフトウェアおよびドキュメントを含む)には、オラクル社およびその関連会社に所有権のある情報が含まれています。このプログラムの使用または開示は、オラクル社およびその関連会社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権と工業所有権に関する法律により保護されています。このプログラムのリバース・エンジニアリング、逆アセンブル、逆コンパイル等は禁止されています。このドキュメントの情報は、予告なしに変更される場合があります。オラクル社およびその関連会社は、このドキュメントに誤りが無いことの保証は致し兼ねます。これらのプログラムのライセンス契約で許諾されている場合を除き、プログラムを形式、手段(電子的または機械的)、目的に関係なく、複製または転用することはできません。このプログラムが米国政府機関、もしくは米国政府機関に代わってこのプログラムをライセンスまたは使用する者に提供される場合は、次の注意が適用されます。その他の本質的に危険を伴うアプリケーションで使用されることを意図しておりません。このプログラムをかかる目的で使用する際、上述のアプリケーションを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。万一かかるプログラムの使用に起因して損害が発生いたしましても、オラクル社およびその関連会社は一切責任を負いかねます。Corporationの登録商標です。記載されているその他すべての会社名および製品名は、それらを識別する目的にのみ使用されており、それぞれの所有者の商標である可能性があります。このプログラムは、第三者のWebサイトへリンクし、第三者のコンテンツ、製品、サービスへアクセスすることがあります。オラクル社およびその関連会社は第三者のWebサイトで提供されるコンテンツについては、一切の責任を負いかねます。当該コンテンツの利用は、お客様の責任になります。第三者の製品またはサービスを購入する場合は、第三者と直接の取引となります。オラクル社およびその関連会社は、第三者の製品およびサービスの品質、契約の履行(製品またはサービスの提供、保証義務を含む)に関しては責任を負いかねます。第三者との取引により損失や損害が発生いたしましても、オラクル社およびその関連会社は一切の責任を負いかねます。問題の概要を説明します。7.2.4、7.2.4.1、7.2.5および7.2.5.1の各リリースで提供された新機能および修正も記述しています。OpenVMSを対象としています。対象読者このドキュメントは、次を担当するユーザーを対象としています。アプリケーション・プログラミングドキュメントの構成このドキュメントは、次の5つの章で構成されています。Rdbは、JDBCとも表記されます。Hewlett-Packard社は、HP社とも表記されます。このマニュアルでは、次の表記規則を使用します。書式例に含まれる小文字の単語は、ユーザーが指定する構文要素を表します。大カッコは、カッコ内の項目を任意に選択することを表します。中カッコは、カッコ内の項目からいずれか1つを選択する必要があることを表します。水平の省略記号は、前にある項目を繰り返すことができることを示します。例の中の垂直の省略記号は、例に直接関連しない情報が省略されていることを示します。Rdbリリース7.2.5.2に関するインストールおよびドキュメントの情報を提供します。Rdbのドキュメントは、次のいずれかの方法で、インストール前にPCSIキットから抽出できます。リリース・ノートのコピーを抽出するには、PCSIキットの場所(デバイス名およびディレクトリ)を指定したPCSI$SOURCEを定義します。RELEASE_NOTESコマンドの後に製品名を続けて入力します。ソフトウェア製品キットに含まれているファイルのリストを抽出するには、PCSIキットの場所(デバイス名およびディレクトリ)を指定したPCSI$SOURCEを定義します。LISTコマンドの後に製品名を続けて入力します。ファイルを指定して抽出するには、PCSIキットの場所(デバイス名およびディレクトリ)を指定したPCSI$SOURCEを定義します。FILEコマンドの後に製品名とファイル名を続けて入力します。Rdbのドキュメントは、MetaLinkおよびOTNからも入手できます。Rdbリリース・ノートはSYS$HELPディレクトリにコピーされます。Rdbを使用するには、次のソフトウェア製品をインストールする必要があります。Rdbの最低バージョンがV7.2でした。V7.1リリースの要件と同じになっています。Rdbが必要最低バージョンです。Rdbシン・ドライバを使用するために次のソフトウェア製品をインストールする必要があります。Rdbサーバーを起動および停止する必要がある場合は、次の製品をインストールする必要があります。OpenVMSシステムのインストールに関する詳細は、次のWebサイトで検索できます。OpenVMSシステムのドキュメントは、次のWebサイトで検索できます。Javaアプリケーションに関するHPの推奨事項に基づいて、Oracleでは、シン・サーバー(特にマルチ・プロセス・サーバー)の起動に使用するアカウントでの最低の割当て制限の設定を次のように推奨します。これらのプロセスの割当て制限にあわせて、システムの割当て制限を適切に設定してください。OpenVMSのリリース・ノートを参照してください。Rdbのドキュメントを参照してください。Rdbのインストール方法を説明し、サンプル・ログを示します。Polycenterが使用されています。Polycenterの使用方法は、OpenVMSのドキュメントを参照してください。Rdbキットの製品インストール・ファイルには、ORCL-pppVMS-RDBJDBC72-V0702-xxxxxx-1.PCSIという名前が付いています。pppはプラットフォーム、xxxxxxはこのキットのビルド・インスタンスです。ORCL-I64VMS-RDBJDBC72-V0702-5V0672-1.PCSIインストール・ファイルは、Rdbソフトウェア配布CDのRDBJDBCディレクトリにあります。RdbキットをWebから入手した場合、インストール・ファイルはRDBJDBCV72xxxxx.ZIPファイルに含まれています。xxxxxはキットのビルド・インスタンスを表します。インストール・キットは次のファイルで構成されます。Rdbキットをインストールするには、次の手順を実行します。ZIP形式のキットを入手した場合は、次のように一時ディレクトリにキット・ファイルをリストアします。RdbのPolycenterキットが解凍され、PCSIファイルORCL-pppVMS-RDBJDBC72-V0702-xxxxxx-1.PCSIへのアクセスが可能になります。pppはプラットフォーム、xxxxxxはこのキットのビルド・インスタンスです。PRODUCTコマンドを使用してキットをインストールします。キットのバージョンの詳細が表示され、続行するかどうかをたずねられます。次に示すALPHAシステムでのインストール例では、キットのビルド・インスタンスが5V0672で、PCSIファイルが含まれているディレクトリがMY_DIRである場合を想定しています。Rdb製品ディレクトリにコピーされます。sys$common:[rdb$jdbc.logs]およびsys$common:[rdb$jdbc.com]の2つの新しいディレクトリが作成されます(すでに存在する場合を除く)。sys$common:[rdb$jdbc]ディレクトリにrdbjdbccfg.xmlファイルが存在しない場合は、インストール・キットから同ファイルがこのディレクトリにコピーされます。コマンド・プロシージャSQLSRV_JDBC_SERVER_STARTUP*.COMが、システム固有のSYS$MANAGERディレクトリにコピーされます。Rdb製品のインストール・ディレクトリにあるコマンド・プロシージャRDBJDBC_STARTUP.COMを使用して、次のように、必要なシステムの論理名を定義します。シン・マルチ・プロセス・サーバーを使用する場合や、シン・コントローラまたはプール・サーバーを使用してサーバー・プロセスを起動する場合は、RDB$JDBC_HOME論理名を定義する必要があります。CLASSPATHにrdbnative.jarファイルとrdbthin.jarファイルを含めます。Javaクラスを使用して、インストールをテストします。RDBJDBCCHECKUP.CLASSは、インストール中にRDB$JDBC_HOMEにコピーされます。このファイルをデフォルト・ディレクトリにコピーしたうえで、Javaを使用して起動します。Rdbデータベースを指定するよう求められます。correct."というテキストが表示されます。次のコマンドを使用して、シン・サーバーをテストします。注意Java言語では大文字/小文字が区別されるため、クラス名とメソッド名は、必ず各APIで示されているとおりに指定する必要があります。OpenVMSオペレーティング・システムのデフォルトでは、コマンドライン・パラメータは二重引用符で囲まないかぎり大文字になります。Rdbリリース7.2.5.2の新機能および変更された機能について説明します。RdbデータベースからDEC_KANJIおよびDEC_HANZIのデータにアクセスしないようお薦めしていました。Rdbドライバでは、PCプラットフォーム上でこれらのキャラクタ・セットをSHIFT_JISと併用するテストが完了したため、これらのキャラクタ・セットの使用に関する制限はなくなりました。Rdbリリース7.2.5.2で修正されたソフトウェア・エラーについて説明します。ResultSet.getBigDecimal()がシステムの結果セットに対して機能しないインスタンス・ビルド20070714で修正済DatabaseMetaDataメソッドによって返された結果セットの列に対してgetBigDecimal()メソッドをコールすると、次の例外が発生して処理が失敗することがありました。2この問題は、現在では修正されています。16進表記法を使用した場合にトレース・レベルの設定に失敗するインスタンス・ビルド20070731で修正済トレース・レベルについて16進値の解析を行う際、0x7FFFFFFFより大きいトレース・レベル値を使用すると次の例外が発生することがありました。この問題は、現在では修正されています。SELECT文のAS句でのデリミタ付き識別子の問題インスタンス・ビルド20070731で修正済リリース7.2.5.1で報告された問題として、SELECT文のAS句で使用されているデリミタ付き識別子を解析すると、次の例外が発生する場合があるという問題がありました。schema:42000回避策は、次のように、AS句でデリミタ付き識別子を使用しないことです。employeesこの問題は、現在では修正されています。"DEFAULT"サーバー定義による構成ファイルの問題インスタンス・ビルド20080122で修正済サーバー情報のインストール中に、"DEFAULT"サーバーからプロパティが誤ってコピーされ、各サーバーの構成設定が不適切になる場合がありました。この問題は、サーバー構成ファイルの"DEFAULT"サーバー定義に、次のプロパティのいずれかが含まれている場合にのみ発生します。ssl.defaultssl.contextssl.keyManagerFactoryssl.keyStoreTypessl.keyStoressl.keyStorePasswordssl.trustStoressl.trustStorePassword<allowPrivUser><allowUser><allowDatabase><allowPrivUser>これらのプロパティのいずれかが"DEFAULT"サーバー定義に使用されている場合、各サーバー構成プロパティ(許可されたデータベース、許可されたユーザーなど)が、対象のサーバーから、同じ構成ファイルに記述されているその他すべてのサーバーへ誤って伝播する可能性があります。この問題の回避策は、"DEFAULT"サーバー定義にこれらのプロパティを使用せず、必要なサーバー定義にのみ、そのプロパティを含めることです。Rdbのドキュメントで使用されている構成ファイルの例では、"DEFAULT"サーバー定義に次のプロパティが使用されているため、この問題が発生する可能性があります。ssl.default="true"この問題は、現在では修正されています。ユーザー制限が有効化されている場合にプール・サーバーが互換性のないサーバーを選択するインスタンス・ビルド20080122で修正済プール・サーバーによって制御されているサーバー・プールにおいて、いずれかの参加サーバーがアクセス制限を有効化されており、かつそのサーバーにAllowedUserエントリが1つ以上存在する場合、そのAllowedUserにリクエスト元の接続ユーザー名が含まれていなくても、リクエストされた接続に対する候補サーバーとしてそのサーバーが選択される可能性があります。この問題が発生した場合、接続リクエストは選択されたサーバーにリダイレクトされますが、接続試行は即座に終了して次の例外が表示されます。denied今バージョンでは、最初の接続リクエスト中に情報がプール・サーバーへ正しく渡されるように変更されたため、プール・サーバーは、プール内の候補サーバーが要求元のユーザーを受け入れるかどうかを正しく判断した後で、そのサーバーへと接続リクエストをリダイレクトできるようになりました。以前のバージョンでは、SQLVARデータ領域をダンプするための内部バッファの割当てに問題があったため、サーバーの実行中に予期しない問題が発生し、サーバーが異常終了することがありました。SQLDAフラグ・ビットが設定されており、かつダンプするSQLVARのデータ領域長が512オクテットを超える場合のみです。SQLDAトレース・フラグ・ビットを設定しないことです。この問題は、現在では修正されています。Rdbリリース7.2.5.2の既知の問題、制限および回避策について説明します。SQLを呼び出してSQL文をコンパイルし、選択フィールドとパラメータ・マーカーを記述します。このとき、SQLはパラメータ・マーカーの内部用メッセージ表示を作成します。Rdbへ渡される可能性があります。各パラメータ・マーカーを使用して渡される文字値の最大サイズは、この段階でSQLによって決定されます。SQLが決定したパラメータ最大サイズよりも長い文字列値をアプリケーションが使用しようとすると、一貫性のない結果が返される可能性があります。Rdbへ送られる前にSQLによって切り捨てられます。これは、問合せが等価条件の選択である場合には問題ありませんが、その他のブール比較の場合には予期しない結果が返されます。次の問合せはレコードを返します。次の問合せはレコードを返しません。この問合せが失敗する理由は、SQLがパラメータのテキスト文字列の最大サイズを3文字(フィールドF1のサイズ)に設定するためです。Rdbに送られる前に%12に切り捨てられるため、レコードと一致しません。回避策は、入力された問合せを変更して、アプリケーションが使用する入力値を保持できるだけのパラメータ・サイズを割り当てるよう強制することです。これで、正しい値が返されます。この問題の修正方法は、現在調査中です。VMを使用すると、単一のサーバーが同時に処理できるクライアントの数が制限される場合があります。Rdbサブシステムがアクセスできる特定のシステム・メモリーの量が大幅に削減されるためです。この状況によるメモリー不足の一般的な兆候は、サーバー・プロセスによってCOSI-VASFULLエラーが発行されることです。VMの使用に関する項を参照してください。VMによって事前に割り当てられるメモリー量の決定において重要です。ヒープ・サイズは-Xmxオプションを使用して設定できます。デフォルトでは、割当て制限およびシステムの物理メモリー・サイズに基づいて、割り当てられるヒープ・サイズが決まります。両方のサイズが非常に大きい場合は、ヒープが必要以上に大きくなる可能性があります。サーバーの起動に使用するコマンドのコマンドラインで-verbosegcを使用すると、現在のヒープ・サイズを確認できます。メモリー使用量は、"-Xglobal"スイッチを使用することで変化する場合もあります。VMを有効化するとシン・サーバーでCOSI-VASFULLエラーが表示される場合は、問題修正の最初の試みとして、次のスイッチ設定を試すことをお薦めします。GUIでは、タイプJDBCのディスパッチャは認識されません。これは、JDBCディスパッチャを定義するとGUIを使用できなくなることを意味します。SQL/Servicesの定義からJDBCディスパッチャを削除することで、この問題の発生が抑制されます。1.4のメソッドは、現在サポートされていません。3.0の機能またはデータ型は、サポートされていません。単一のSQL文で使用できるマーカーおよびフィールドの合計数は、250です。Rdbドライバでの文字列の切捨ては、SQL-92の規則に従っており、格納か検索かで異なります。RdbによってエラーRDB$_TRUN_STOREが示されます。切り捨てられた文字列がすべて空白の場合はエラーにならないため例外です。RdbによってSQL警告RDMS$K_SQLCODE_TRUNCWARNが示されます。Rdb内でサポートされません。SQL/Servicesのドキュメントを参照してください。Rdbリリース7.2.5.1の新機能および変更された機能について説明します。SQLDAダンピングトレース・レベルを0x00004000(10進値は16384)に設定すると、SQLとの間でやりとりされたSQLDA情報に関する情報が提供されます。Rdbユーザーズ・ガイド』を参照してください。IPフェイルオーバー時にも正しくリダイレクトされるように、プール・サーバーを構成できます。Rdbユーザーズ・ガイド』を参照してください。マルチ・プロセスのネイティブ接続でのHandshakeTriesおよびHandshakeWaitネイティブ接続のマルチ・プロセス・オプションは、RdbNativeドライバを使用し、アプリケーションのかわりにエグゼキュータ・サブプロセスを使用してRdb接続を実行することを可能にします。これにより、メイン・プロセスおよび関連するサブプロセスで使用される最初の通信ハンドシェイク・プロトコルで、ハンドシェイク・オプションを指定できるようになりました。Rdbユーザーズ・ガイド』を参照してください。サーバー・アクセス・セキュリティの拡張機能サーバーを構成して、処理されるデータベースのアクセスを、許可されたユーザー名のリストに制限できます。そのサーバーを介したデータベースへのアクセスを指定されたユーザーのみに制限する、サーバー構成allowUserが、構成ファイルのサーバー・セクションに追加されました。srv.password構成オプションを使用してサーバー・パスワードを指定できます。これにより、そのサーバーのすべてのユーザーは、追加のパスワードを入力しないとサーバーを介したアクセスを許可されません。Rdbユーザーズ・ガイド』を参照してください。結合での複数のBLOBフィールドの使用制限が解除された以前のバージョンでは次の制限が示されていました。BLOBがSQL結合文から正しく返されるのは、結合セットで指定されている最初の表についてのみです。次のSQL文があるとします。ta.blobは、結合セット内で最初に参照される表から取得されるため、正しく返されます。tb.blobへのアクセスを試行すると、次のSQLエラーが表示されます。Rdbドライバは、単一の結合文内の複数の表から取得したBLOBフィールドを処理できるようになりました。Rdbドライバによって実行される解析の性質により、前述のSELECT文の例のように、結合の2番目以降の表から参照されたすべてのBLOB列は、相関名を使用して修飾する必要があります。BLOB列名と相関名を組み合せて使用しなかった場合は、BLOBフィールドからデータを取得するときに、次のようなSQL解析エラーが表示されます。これは、BLOBデータにアクセスするための正しい表の特定に必要な情報がドライバに提供されないためです。scopeまた、この制限は、BLOBフィールドを含む2つ以上の表の結合に対してSELECT句で"*"を使用した場合でも、同様のSQLエラーが発生することを意味します。Rdbリリース7.2.5.1で修正されたソフトウェア・エラーについて説明します。ResultSetsを使用すると、ストリームの終了後、カーソルが絶対位置に配置された後に、ResultSet.getRow()メソッドによって不正な行数が返されます。Rdbシン・ドライバの使用時には発生しません。ResultSet.afterLast()メソッドをコールした後にResultSet.last()をコールした場合のみ発生します。ResultSet.afterLast()をコールすると、内部レコード・カウンタが不正に設定され、実際のカウントより1つ多くなります。次に、この問題の例を示します。Rdbのインストールでサンプル・データベースとして提供されるPERSONNELデータベースまたはMF_PERSONNELデータベースのEmployees表で使用した場合は、次の情報が返されます(最後のレコードの行番号は100になる必要があります)。人物を使用した場合にプール・サーバーがプールされたサーバーの起動に失敗するインスタンス・ビルド20061011で修正済プール・サーバーによるサーバーの自動起動時にサーバー・プロセスの作成に使用される下位プロセスのネーミングの問題により、次の例外が発生します。nameまた、プールされたサーバー・プロセスの起動を試行する際に、次に示す関連例外が表示されます。-4これらの問題は、人物を使用して、起動されるサーバーのサーバー認可特性を変更した場合のみ発生します。内部データベース・キー情報の処理の問題により、アプリケーションがSELECT構文のリストの最後の列にアクセスできなくなります。この問題が発生するのは、使用するSELECT問合せが結果のタプルに対して一意のデータベース・キーを提供できない場合のみです。複数の表から導出された表またはビューを含む問合せでは、この問題が発生します。columnName)メソッドを使用すると不正なlast_nameが返されます。c1この場合は、名前は正しく返されませんが、姓は正しく返されます。これは、最も外側のSELECT構文のリストの最後の列のみがこの問題の影響を受けるためです。RdbドライバV7.1.3へのコード変更により出現しました。クライアントの異常終了によりエグゼキュータの再利用ができなくなるインスタンス・ビルド20061221で修正済MPサーバーを使用するクライアント・アプリケーションが異常終了したり、クライアント・ソケットが失われた場合は、関連付けられているデータベース接続がサーバーによって切断されますが、内部的な問題により、終了したクライアントに関連付けられているエグゼキュータ・プロセスは、システムにLEF状態で依然として存在します。異常終了の処理でエグゼキュータ・プロセスが正しく終了されず、なおかつ解放されたエグゼキュータが再利用の空きリストに返されません。その結果、孤立したエグゼキュータ・プロセスがLEF待機状態でシステムにとどまるにもかかわらず、再利用できなくなります。クライアントの異常終了が頻繁に発生すると、非アクティブのエグゼキュータ・プロセスが増加して、最終的にはシステム・リソースの問題および過剰なスワッピングを引き起こします。ネイティブ・ドライバでのDECIMAL列の問題インスタンス・ビルド20061221で修正済ネイティブRdbドライバの問題により、DECIMAL列が不正に返されます。この問題は、rdbNativeドライバを使用するアプリケーションのみに影響します。DECIMALデータ型は、内部関数または集計操作による操作後にスケール変更された整数が返された場合にSQLによって使用されることがあります。次の問合せがrdbNativeドライバを介して実行された場合には、不正な値が返されます。salary_historyrdbThinドライバを使用するアプリケーションではこの問題は発生しません。Rdbの以前のバージョンでは、新しく作成されたエグゼキュータとのハンドシェイク・プロセスの起動にMPサーバーが使用する共通イベントのフラグ番号の取得を試行して、十分な時間をかけても取得できなかった場合には、クライアント接続の試行が中断され、次の例外が表示されます。available'このような場合、サーバーが使用するイベント・フラグは、エグゼキュータ・プロセスを作成するためにサーバーによって前回の試行で設定されたままになっていたにもかかわらず、リソースの問題でプロセスの起動時に失敗した可能性があります。これまでにサーバー・コードは変更されており、エグゼキュータ・プロセスが正しく起動しなかった場合には、イベント・フラグの使用が正しくクリーンアップされるようになりました。イベント・フラグがすでに使用中であることを検出してもサーバーは中断せず、イベント・フラグを使用できない時間はエグゼキュータ・プロセスの作成およびエグゼキュータ・イメージの準備にかかる時間よりかなり長いため、フラグはリセットされ、現行のエグゼキュータの起動が続行されるとみなします。LOSTメッセージが記録されます。次のメッセージが記録されます。lostこの問題は、現在では修正されています。コントローラを使用して起動したサーバーのログ・ファイルが正しく設定されないインスタンス・ビルド20070412で修正済トレース・メッセージおよび他の出力を記録するためにサーバーで使用されるログ・ファイルは、サーバーおよびコントローラとともに使用される構成ファイルのサーバー指定セクションで設定されます。新しく起動したサーバー・プロセスにログ・ファイル情報が渡される際の問題により、コントローラのサーバー起動コマンドを使用してサーバーを起動した場合に、正しいログ・ファイル指定がサーバーで使用されなくなります。この問題は、現在では修正されています。人物シン・サーバーまたはプール・サーバーの起動時に、起動に使用されたプロセスの権利識別子、割当て制限および認可の属性が自動的に継承されます。サーバーの起動時に使用する人物を指定することで、このデフォルトの動作を上書きできます。その後、サーバーによって起動されるサーバー・プロセスおよびエグゼキュータ・プロセのス権利と認可を決定する際には、サーバーおよびその基礎となるOpenVMSオペレーティング・システムの両方でこの人物が使用されます。この機能は、7.1.4で導入されましたがリリース・ノートでは省略されました。Rdbリリース7.2.5で修正されたソフトウェア・エラーについて説明します。RdbのV7.2-41インストール・キットに含まれています。このバージョンのファイルでは、RDB$JDBC_SQSNAM_*論理名が正しく設定されず、このファイルをSQL/Serviceシン・サーバーの起動時に使用しようとすると問題が発生します。このファイルに含まれるDCLコマンドの次の行に誤りがあります。正しい行は次のとおりです。この問題は、現在では修正されています。連結解除されたマルチ・プロセス・サーバーによるエグゼキュータ・サブプロセスの作成時に割り当てられたエラーおよび出力のチャネルの問題により、サーバー・プロセスは、関連付けられているメールボックスに直接I/Oを継続的に発行します。これは、サーバーのアイドル時でもそのプロセスの直接I/Oカウントが増え続けることからもわかります。これは、サーバーが正しく機能するのを妨げるものではありませんが、静止したサーバーでのアクティビティとして不正に表示される可能性があります。回避策は、連結解除されたマルチ・プロセス・サーバーを使用するかわりに、ログイン・セッションでマルチ・プロセス・サーバーを直接起動することです。この問題は、現在では修正されています。事前起動済で再利用されたエグゼキュータに対してクライアントのidleTimeoutが機能しないインスタンス・ビルド20060505で修正済クライアント接続がアイドル状態になる時間の長さは、シン・サーバーのcli.idleTimeoutパラメータを使用して制限できます。事前起動済のエグゼキュータにマルチ・プロセス・サーバーが使用されている場合は、サーバーに対して設定されたクライアントのアイドル・タイムアウト値が無視されます。クライアントが接続時に事前起動済のエグゼキュータを取得した場合、サーバーに対するクライアントのアイドル・タイムアウトがクライアント・コンテキストに正しく転送されず、タイムアウトが発行されません。エグゼキュータが事前に起動していない場合でも、再利用されている場合は、同様の問題が発生して非アクティブ時間が設定されなくなります。これまでに、サーバーに対して設定されたクライアントのアイドル・タイムアウトは、事前起動済および再利用されているエグゼキュータによって正しく監視されるようになりました。DatabaseMetaData.getTables()メソッドを使用すると、コール元は、接続済データベースで検出された表およびビューの情報を取得できます。このメソッドをコールする際に、検索対象の表タイプのリストを指定できます。Rdbドライバでは、このメソッドに対して次のタイプの表が認識されます。TABLEここに示されていない表のタイプは、ドライバによって無視されます。ドライバ・コードの問題により、表タイプのリストがドライバに認識されないタイプで始まる場合には、SQL構文例外が生成されます。次の例ではSQL構文エラーが発生します。この問題の回避策の1つは、タイプの順序を変更して、認識される表タイプのリストに含まれているタイプを最初のタイプとして指定することです。この例ではSQLエラーは生成されません。この問題は、現在では修正されています。RdbのV7.1-41でのハンドシェイク・プロトコルの変更により、クライアント情報のリクエストへのシン・サーバーの応答に問題が発生しました。CLIENTコマンドを発行すると、接続されているシン・サーバーによって不当なアクセスが行われ、その結果、サーバー・プロセスが終了します。この問題は、現在では修正されています。Rdbリリース7.2.4.1の新機能および技術上の変更について説明します。クライアントおよびサーバーのタイムアウト機能サーバー接続またはクライアント接続が切断されるかサーバーが終了するまでの、非アクティブ状態を維持する時間の長さを指定できるようになりました。Rdbユーザーズ・ガイド』を参照してください。エグゼキュータ名の接頭辞マルチ・プロセス・サーバーによって起動されるエグゼキュータの名前の接頭辞を指定できるようになりました。これは、システム上でエグゼキュータ・プロセスを識別するのに役立ちます。Rdbユーザーズ・ガイド』を参照してください。Rdbリリース7.2.4.1で修正されたソフトウェア・エラーについて説明します。Rdbリリース7.1.2のリリース・ノートには、RDBJDBCCFG.XMLファイルがSYS$COMMON:[RDB$JDBC]ディレクトリにコピーされると誤って記述されています。実際には、RDBJDBCCFG.XMLは、製品のインストール時に次の2つのディレクトリにコピーされます。JDBCメイン・ディレクトリの下にある製品のインストール・ディレクトリ。SYS$COMMON:[RDB$JDBC.COM]ディレクトリまた、インストール手順によってSYS$COMMON:[RDB$JDBC.COM]ディレクトリのRDBJDBCCFG.XMLファイルが不正に置き換えられ、同じ名前の既存のファイルが上書きされます。これまでに、このリリース・ノートは修正され、インストール手順では、RDBJDBCCFG.XMLファイルがSYS$COMMON:[RDB$JDBC.COM]ディレクトリにすでに存在しない場合のみ、ファイルがコピーされるようになりました。Rdbプール・サーバーと人物機能を併用した場合に、エグゼキュータ・プロセスまたはプールされたサーバー・プロセスの作成の問題により、正しい人物識別子が作成されたプロセスに渡されません。この問題により、次のエラーが発生します。System.exec()メソッドの使用制限により、新しく作成されたプロセスに、セキュリティ情報および人物詳細がコピーされません。現在では、JDBCサーバーはOpenVMSシステム・サービスCREPRCを使用してプロセスを起動します。CREPRCによって、新しいプロセスにセキュリティ情報が正しく転送されます。高負荷のシステムでマルチ・プロセス・サーバー/エグゼキュータのハンドシェイク・タイムアウトが短すぎるインスタンス・ビルド20060130で修正済マルチプロセッサ・サーバーは、エグゼキュータと対話する際に、ハンドシェイク・プロトコルを使用して、エグゼキュータがまだ稼働中で指示を受け入れることをチェックします。デフォルトでは、エグゼキュータがサーバーの同期リクエストに5秒以内に応答しない場合、次の例外が発生して接続が切断されます。この同期ハンドシェイクは、エグゼキュータがサーバーに応答し、リクエストされたタスクが完了して次の操作の実行を待機していることを伝えた後に行われます。この同期の失敗は、データベース内でエグゼキュータがビジー状態にある間は発生しません。したがって、問合せのコンパイルや実行に必要なデータベース・ロックまたは時間などによる影響を受けません。エグゼキュータが次のアクションの実行を待機中であることが認識されている場合のみ発生します。高負荷のシステム、特に単一CPUのシステムでは、この同期ハンドシェイクのウィンドウ内でエグゼキュータ・プロセスが実行のためにスケジュールされず、例外が発生する場合があります。この同期を実行するために、以前のバージョンのドライバでは、各ポーリング・リクエスト間隔の遅延10ミリ秒で、サーバーがエグゼキュータを最大500回ポーリングします。500回の試行で応答が検出されなかった場合は、サーバーで前述の例外が発生します。Rdbドライバでは、最大ポーリング試行回数および各試行間隔の遅延をサーバー・レベルで指定できます。サーバーが実行されているシステムのプロセス・スケジュールの遅延が延長されている可能性があることを認識していれば、サーバーが同期ハンドシェイク時にタイムアウトしないようにすることができます。次の2つのスイッチが、新たにサーバー定義およびサーバー起動に追加されています。最大ポーリング試行回数の指定に使用します。各試行間隔での遅延の指定に使用します。Rdbユーザーズ・ガイド』を参照してください。Rdbユーザーズ・ガイドには、srv.idleTimeoutが接続の非アクティブ・タイムアウトに影響すると記述されていますが、これは誤りです。実際には、このスイッチは、サーバーの非アクティブ・タイムアウト期間を表します。この機能は以前のバージョンでは十分に機能していませんでした。srv.bindTimeout構成変数は、サーバーがデータベースの接続を続行する必要があるというクライアントからの確認を待機する時間を制限するためのものです。デフォルト値は0で、サーバーが無限に待機することを意味します。このタイムアウトは、SSL通信の処理に役立ちます。新しいソケット接続がリクエストされた後にクライアントが接続リクエストを送信するのを待機する時間を制限するために、サーバーによって使用されるためです。SSLが有効化されているサーバーと通信しようとしてクライアントがSSLセキュア・ソケットの使用に失敗した場合は、接続が完了しないためサーバー内のクライアント・スレッドが停止します。srv.bindTimeout値は、中止するまでのこの待機時間を指定します。この値のデフォルト値は誤って1秒に設定され、srv.bindTimeoutサーバー属性はXML構成ファイル内で無視されていました。CPUバウンド・システムでは、最初のSSLネゴシエーションにかかる時間が2番目にかかる時間より長く、新しい接続リクエストでTIMOUT失敗が発生する可能性がありました。これらの問題は修正済です。Rdbユーザーズ・ガイド』を参照してください。IA64の問題により文字列索引付けの処理時に配列範囲外の例外が発生するインスタンス・ビルド20060208で修正済IA64上のJAVAでは、文字列索引付け操作を静的な最終文字列定数を使用して実行すると、まれに次のタイプの例外が発生することがあります。この種の例外では必ず、例外名の後の索引値が非常に大きくなります(桁数はここに示したものと常に同じ)。現在では、getTableNameメソッドは、indexOf以外のメカニズムで操作を実行するように変更されています。そのため、今後この問題は発生しません。先行コメントまたは埋込みコメントを含むSQLテキストを持つ文を実行またはプリコンパイルすると、文の解析時にエラーが発生する場合があります。*/などのコメントが使用されます。Rdbでは正しく処理されますが、JDBCドライバによって文が事前に解析される際の文のタイプの特定時に問題が発生します。次にSQLテキストの例を示します。このテキストによって、次のSQLExceptionが発生します。JDBCドライバは、文のタイプを正しく特定できず、文を実行するために、基礎となる誤ったSQL操作を使用します。ドライバは、CおよびSQLタイプのコメントを正しく解析します。プリコンパイルされた文によりマルチ・プロセス・サーバーでメモリー・リークが発生するインスタンス・ビルド20060301で修正済プリコンパイルされた文の準備中に、マルチ・プロセス・サーバーは、プリコンパイルされる文の中で列およびパラメータ・マーカーに関する一部の情報を保持するサーバーのグローバル共有メモリー・プールからのメモリーを割り当てる必要があります。コーディングの問題により、このメモリーの一部は、文のコンパイル時に1回だけ割り当てられるのではなく、プリコンパイルされた文が実行されるたびに不正に割り当てられます。このように誤って割り当てられたメモリーが使用後に解放されることはありません。プリコンパイルされた同じ文を複数回実行すると、サーバーが使用できる共有メモリーが徐々に減少し、さらには共有メモリー割当てを完全に使い果たして問題が発生します。この問題は、現在では修正されています。Rdbリリース7.2.4で修正されたソフトウェア・エラーについて説明します。Rdbドライバによって36863オクテット数に不正に制限されます。これにより、36863より多いオクテットが行に含まれている場合は、問題が発生します。次の例外は、このデータ行の切捨ての兆候です。Rdbでサポートされる最大行サイズにあわせて65,272オクテットに増加されています。Rdbプール・サーバーおよびそのプールされたサーバーによって確立された接続の間に別の潜在的な接続のオーバーラップが検出され、これによって、接続の空きスロットを使用できる場合でもクライアント接続が不正に拒否されます。Rdbリリース・ノートに次のように記述されている問題と類似しています。これまでに、プール・サーバーによるサーバー・チェック時のハンドシェイク・プロトコルは、このような接続のオーバーラップを防ぐために変更されています。SSLサーバーの情報がXML形式の構成ファイルから正しく設定されないインスタンス・ビルド20051220で修正済XML構成ファイル・データの解析の問題により、タイプ"RdbThinSrvSSL"、"RdbThinSrvMPSSL"および"RdbThinSrvPoolSSLの名前付きサーバーに正しいポートおよびノードの情報が割り当てられません。個々のサーバーに提供されたURL指定がすべて無視され、かわりにデフォルトのポートおよびノードが使用されます。この問題は、現在では修正されています。