|
ALDSP_3.0 : relnotes
このページは、2007 年 11 月 5 日に tkatz によって最後に変更されました。
edocs ホーム > BEA AquaLogic Data Services Platform 3.0 ドキュメント > データ サービス開発者ガイド
|
| 注意 : BEA AquaLogic (R) Data Services Platform の旧製品名は WebLogic (R) の Liquid Data です。製品、パス、およびその他のアーティファクトには、元の名前が残っているものもあります。 |
AquaLogic Data Services Platform リリース ノートは次のリリースまでに改訂されることがあります。最新版は常に以下の URL に掲載されます。
| http://edocs.beasys.co.jp/e-docs/aldsp/docs30/relnotes/relnotes.html |
解決されていない問題のトラッキング サポートに関しては、「BEA カスタマ サポート」にお問い合せください。
| http://edocs.beasys.co.jp/e-docs/aldsp/docs30/dsp30wiki/what's%20new.html |
| http://edocs.beasys.co.jp/e-docs/aldsp/docs30/install/index.html |
ベンダ オペレーティング システム、JDK およびハードウェア サポートのサポート情報については、「BEA AquaLogic Data Services Platform 3.0 のサポート対象のコンフィグレーション」を参照してください。
このリリースでは、クライアント アプリケーションが以下の JDK でサポートされています。
この節では、ALDSP 3.0 で使用するサポート対象の相互運用の製品について説明します。
以下のセクションでは、AquaLogic Data Services Platform 3.0 JDBC ドライバで使用されるレポート アプリケーション用の JDBC ドライバのサポートの情報について説明します。
| アプリケーションおよびバージョン | JDBC ネイティブ | OpenLink ODBC/JDBC Lite Bridge |
| Crystal Reports XI | サポート対象 | |
| Business Objects XI、Release 2 | サポート対象 | |
| Hyperion BI 9+、Interactive Reporting | サポート対象 | |
| Microsoft Access 2000 | サポート対象 | |
| Microsoft Excel 2000 | サポート対象 |
このリリースでサポート対象の Web サービス標準を以下に示します。
| 標準 | バージョン |
| SOAP | 1.1、1.2 |
| WSDL | 1.1 |
| JAX-RPC | 1.1 |
| SDO | 2.1 |
| XML スキーマ | 1.0 |
| Xquery | 2004 年 7 月 草案 |
この節には、現在の BEA ALDSP リリースに関連した、発生する可能性のある確認済みの制限事項を示します。制限事項に関する情報は以下のとおりです。
| CR357732 |
QuickStart ページから AquaLogic Data Services Platform 3.0 のサンプル ドメインを起動できません。 |
| プラットフォーム | すべて |
| 説明 | QuickStart ページの「AquaLogic Data Services Platform 3.0 の起動」リンクをクリックして ALDSP 3.0 のサンプル ドメインを起動しようとしているときにポップアップ ウィンドウが表示され、次のようなメッセージが表示されます。
The link to this application has not been implemented yet.Check this out later! |
| 回避策 | [スタート|BEA Products|BEA AquaLogic Data Services Platform |Examples|Start Examples Server] をクリックしてサンプル ドメインを起動します。 |
| CR258884 | セキュリティ フィルタの決定が監査されません。 |
| プラットフォーム | すべて |
| 説明 | セキュリティ フィルタの決定 (セキュリティ XQuery 関数) が監査されません。 |
| 回避策 | なし |
| CR345482 | Hyperion Interactive Reporting System がサポートされません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0 は、Hyperion Interactive Reporting System をサポートしていません。 |
| 回避策 | なし |
| CR339279 | マルチバイト文字を含む ALDSP 2.5 プロジェクトをアップグレードすると、エラーを発生し、文字化けを起こす場合があります。 |
| プラットフォーム | すべて |
| 説明 | マルチバイト文字を含む ALDSP 2.5 プロジェクトを ALDSP 3.0 にアップグレードすると、ログ ビューに次のエラーが表示される場合があります。'Some characters cannot be mapped' 同様に、更新したデータ サービス ファイルを開くと、次のエラーが表示される場合があります。 'Exception Message: 'Some characters cannot be mapped 'MS932' データ サービス ファイルにも文字化けが発生する場合があります。 |
| 回避策 | データ サービス ファイルが適切にアップグレードされました。マルチバイト文字を正しく表示するようにデータ サービス ファイルを再度開きます。 |
| CR266307 | ファイル名およびフォルダ名に埋め込みスペースが含まれる場合、ネームスペース URI が無効になる場合があります。 |
| プラットフォーム | すべて |
| 説明 | ALDSP は、1 つまたは複数の埋め込みスペースを含むファイル名およびフォルダ名をサポートしません。これにより、[リファクタ|移動とリファクタ|名前の変更] などの一部の操作を行うとき、ネームスペース URI が無効になる可能性があります。 |
| 回避策 | ファイルまたはフォルダを作成するときに、その名前に埋め込みスペースを使用しない。 |
| CR350103 | 新しいバージョンをインストールすると、ALDSP ライセンスが予期せずに変更されます。 |
| プラットフォーム | すべて |
| 説明 | ALDSP は、AquaLogic Data Services Platform ライセンス グループ (license.bea ファイル内) にある最初のライセンスを使用します。ALDSP の複数のバージョンをインストールすると、次のセグメントに示すライセンスの順序によってライセンスが予期せずに変更されます。<license-group format='1.0' product='AquaLogic Data Services Platform' release='3.0'> <license component='Data Services Runtime' cpus='unvalued' expiration='2008-01-28' ip='any' licensee='BEA Evaluation Customer' signature='ZgOAWQ...' type='EVAL' units='5' /> <license component='Data Services Runtime' cpus='unvalued' expiration='2008-06-04' ip='any' licensee='BEA Evaluation Customer' serial='616351266349-2343532799844' signature='MC4CFQ...' type='EVAL' units='unlimited' /> </license-group> この例では、ライセンスの「単位」数は無制限から 5 まで変更されることに注意してください。 |
| 回避策 | ALDSP の複数のバージョンがインストールされた場合、次の手順に従います。
|
| CR346860 | ALDSP 2.5 SDOGen Web サービスのクライアンを下位互換性モードで実行するために追加の手順が必要になります。 |
| プラットフォーム | ALDSP 2.5 |
| 説明 | 静的 SDOGen を使用する ALDSP 2.5 Web サービス クライアントが、ALDSP サーバと DSP Control/JWS ソースのアップグレード後に、そのままでは機能しません。 |
| 回避策 | 静的 SDOGen Web サービス クライアントを使用するには次の手順に従います。
|
| CR351310, CR351492 | 生成ログにエントリがありません。 |
| プラットフォーム | すべて |
| 説明 | 生成ログには、更新できない対象エンティティに対するエントリがない可能性があります。この場合は、更新マップが不完全である可能性があります。 |
| 回避策 | なし |
| CR337329 | WebLogic Integration (WLI) 9.2 のドメインと同じドメインに ALDSP 3.0 を実行すると、衝突が発生する可能性があります。 |
| プラットフォーム | ALDSP 3.0 および WebLogic Integration 9.2 |
| 説明 | ALDSP 3.0 および WLI 9.2 で、xquery.jar ファイルの互換性がないバージョンがインストールされています。ALDSP 3.0 によってインストールされたソフトウェアの方がより新しいバージョンであるため、WLI 9.2 との使用は保証されていません。 |
| 回避策 | ALDSP 3.0 および WebLogic Integration 9.2 用に準備されたドメインを作成しない。 |
| CR354314 | 単一のセッションで複数のデータスペースに対して行った変更が、ランタイムですべてのデータスペースに適用されません。 |
| プラットフォーム | すべて |
| 説明 | セッションのロックを取得したり、複数データスペースを変更したり、セッションをコミットすると、単一のデータスペースのみに変更が反映されます。WebLogic Server を再起動すると、すべての変更されたデータスペースに対して変更が反映されます。 |
| 回避策 | 1 つのセッション中に単一のデータスペースのみを変更します。セッションをコミットした後、新しいセッションを起動して別のデータスペースを変更します。 |
| CR344413 | AquaLogic Service Bus (ALSB) SB プロキシをインポートする場合、または ALSB SB プロキシ物理データ サービスにアクセスする場合、ALSB sbresource サーブレットを使用する必要があります。 |
| プラットフォーム | すべて |
| 説明 | ALSB SB プロキシを使用してルーティングした Web サービスをインポートするときに、ALDSP は、ALSB sbresource サーブレットを通じて SB プロキシ WSDL をリクエストします。 同様に、ALSB SB プロキシを使用して作成した物理データ サービスにアクセスするときに、ALDSP ランタイムは、ALSB sbresource サーブレットを通じて SB プロキシ WSDL を取得します。 両方のオペレーションとも、ALSB sbreource サーブレットが利用可能で実行中である必要があります。 |
| 回避策 | ALSB sbreource サーブレットがデプロイされ、実行中であることを確認します。 |
| CR343216 | タイムゾーンを含む Oracle タイムスタンプが不正な値を返します。 |
| プラットフォーム | Oracle 9i (BEA Oracle JDBC ドライバを使用) |
| 説明 | BEA Oracle JDBC ドライバを使用して返したタイムスタンプ (タイムゾーンを含む) が正しくない可能性があります。 |
| 回避策 | ネイティブ Oracle JDBC ドライバを使用します。 |
| CR341851 | XMLBean タイプを返すアップグレードされた JWS がコンパイルしません。 |
| プラットフォーム | Workshop for WebLogic Platform 9.2.2 |
| 説明 | XMLBean タイプを返すアップグレードされた JWS のすべての操作が、アップグレード後に次のようなコンパイル エラーを表示します。The name 'getCustomerByIdResult' specified in javax.jws.WebResult is different to the XmlBean name of 'CUSTOMER' |
| 回避策 | @WebResult アノテーションを削除するか、スキーマ型と一致するように名前を変更します。 |
| CR338622 | ALDSP でのテスト ビューは、操作の結果の完全な XML スキーマの検証を実行しません。 |
| プラットフォーム | すべて |
| 説明 | スキーマの検証動作は ALDSP 2.x から ALDSP 3.0 に変更されています。ALDSP 2.x を使用すると、スキーマの検証はクエリの戻り値で発生します。ALDSP 3.0 では、完全なスキーマの検証ではなく、SDO 構造レベルでの検証が実行されます。 |
| 回避策 | テスト時に、XML スキーマに対して呼び出し関数の結果を検証するには XQuery 検証構文を使用して関数の本文を一時的にラップします。以下に例を示します。
validate {
xquery expression
}
|
| CR342747 | Crystal Reports は、ストアド プロシージャとしてパブリッシュされた読み取り関数 (パラメータを受け取らない) を使用できません。 |
| プラットフォーム | Crystal Reports (JDBC ドライバを使用)。 |
| 説明 | Crystal Reports でストアド プロシージャとしてパブリッシュされた読み取り関数 (パラメータを取らない) を使用すれば、以下のような例外が生成されます。
java.sql.SQLException: Invalid stored procedure reference: ReportingToolCertDataServices.Xtreme.'Read at com.bea.dsp.jdbc.exceptions.DSPExceptionFactory.create(DSPExceptionFactory.java:148) at com.bea.dsp.jdbc.driver.CallableDSPStatementImpl.updateWithNamedParameters(CallableDSPStatementImpl.java:2913) |
| 回避策 | 読み取り関数をパラメータなしで、ストアド プロシージャではなく、テーブルとしてパブリッシュします。 |
| CR345630 | ALDSP 2.5 サーバ側の Streaming API を変更せずに ALDSP 3.0 で使用できません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 2.5 では、Streaming API は、ローカル Mediator API クライアントとして同じ ALDSP 2.5 アプリケーションで使用する場合のみ、サーバ側で利用可能です。ただし、ALDSP 3.0 では、データスペース デプロイメントに対して J2EE デプロイメント モデルを使用しなくなります。 これにより、ALDSP 2.5 Streaming API を使用するクライアントは ALDSP 3.0 データスペース内にデプロイできません。その結果、以下の例外が発生します。 javax.naming.LinkException. |
| 回避策 | ALDSP 3.0 は、すべての Java Mediator API クライアント (リモートとローカル) の Streaming API をサポートします。ALDSP 3.0 Java Mediator API を使用するために Streaming API クライアント コードを変更し、この API でストリーミング機能を使用します。 |
| CR317803 | Netscape 8.1 でメタデータ ブラウザを使用したデータ系統グラフを表示できません。 |
| プラットフォーム | Microsoft Windows、Netscape 8.1 |
| 説明 | Netscape 8.1 を使用して、メタデータ ブラウザの [データ系統] タブをクリックすると、データ系統グラフも表示できず、SVG ビューアをダウンロードしてインストールするような指示も示されません。 |
| 回避策 | Netscape 8.1 を使用してデータ系統グラフを表示するには、次の手順に従います。
|
| CR343348 | クライアント API を使用して fn:doc() および fn-bea:collection() 関数にアクセスできません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0 では、クライアント API を使用した fn:doc() および fn-bea:collection() 関数へのアクセスが用意されていません。これらの関数によってセキュリティの脆弱性を招く可能性があるため、クライアントのアクセスがブロックされます。ただし、これらの関数は、データ サービス XQuery の本文内では利用可能です。 |
| 回避策 | なし |
| CR318031 | Eclipse IDE で次のエラー メッセージが表示されます。「An out of memory error has occurred.」 |
| プラットフォーム | すべて |
| 説明 | Eclipse IDE を使用すると、「内部エラー」ダイアログが表示され、次のエラー メッセージが表示されます。 「An out of memory error has occurred...Do you want to exit the workbench?」 |
| 回避策 | 次の手順に従います。
|
| CR347480 | アプリケーションを ALDSP 3.0 にアップグレードすると、次のエラー メッセージが発生する場合があります。「This project needs to migrate WTP metadata.」 |
| プラットフォーム | すべて |
| 説明 | アプリケーションを ALDSP 2.5 から ALDSP 3.0 にアップグレードする場合、「問題」タブの下に次のエラー メッセージが表示される可能性があります。
This project needs to migrate WTP metadata |
| 回避策 | これは Eclipse のエラーで、ALDSP に関係なく発生する可能性があります。次の手順に従います。
|
| CR347074 | メタデータを更新した後、データベース定義の変更が PreparedStatement の呼び出し、またはデータ サービスに反映されません。 |
| プラットフォーム | すべて |
| 説明 | SQL クエリは、デフォルトで WebLogic Server によってキャッシュされた PreparedStatement インタフェースを使用します。JDBC PreparedStatement キャッシュのデフォルト サイズは 10 です。 これにより、データベース テーブルおよびカラム定義を準備ステートメント呼び出しの間に変更した場合、キャッシュ内の不正な準備ステートメントが使用される可能性があります。 |
| 回避策 | データベース テーブル定義が変更されたときに、PreparedStatement キャッシュのサイズを 0 に設定します。WebLogic Server Administration Console を使用して、次の手順に従います。
|
| CR297695 | Oracle によって、実際の値が null の場合に空の文字列がチェックされる場合、「optimistic locking failure」の例外が発生する可能性があります。 |
| プラットフォーム | Oracle |
| 説明 | Oracle は、空文字列も null 文字列も NULL として保存し、両方の文字列が常に NULL として返されるので、更新操作中に楽観的なロックのエラーが発生される可能性があります。次のマッピングを見てみましょう。<SomeElement>{ data($db_row/VARCHAR_COLUMN)}</SomeElement>
ここで、VARCHAR_COLUMN は、VARCHAR 形式のデータベース カラムです。この場合、カラム値が NULL でも、要素が常に作成されます。従って、SDO マッピングは、空要素を空の文字列値にマップします。 |
| 回避策 | 次に示すように、カラムを省略可能な要素にマップします。 <SomeElement?>{ data($db_row/VARCHAR_COLUMN)}</SomeElement>
これにより、カラム値が NULL の場合、要素が作成されません。 |
| CR345834 | Web サービスへの呼び出しなど LET 句の高価な機能を複数回呼び出すと、パフォーマンスが低下します。 |
| プラットフォーム | すべて |
| 説明 | XQuery 3.0 は、一回のみ使用された LET 句をインラインします。これは、web サービスなどの高価な機能が呼び出される回数に影響する場合があります。 たとえば、次のクエリを見てみます。 declare function tns:test($id1 as xs:string, $id2 as xs:string ){
let $order1 := tes:getOrder($id1)/OrderDetail
let $order2 :=
for $x in tes:getOrder($id2)/OrderDetail
return
<ORDER>
<ORDER_ID>{fn:data($x/stns:orderID)}</ORDER_ID>
</ORDER>
for $o1 in $order1
return
<ORDER>
<ORDER_ID>{fn:data($o1/stns:orderID)}</ORDER_ID>
<ORDER_DATE>{fn:data($o1/stns:orderDate)}</ORDER_DATE>
<TOTAL_ORDER_AMOUNT>
{ fn:data($o1/stns:totalOrderAmount) }</TOTAL_ORDER_AMOUNT>
<STATUS>
{ $order2[$o1/stns:orderDate = $o1/stns:estimatedShipDate] }</STATUS>
</ORDER>
};
この例では、ALDSP 3.0 は、$order1 も $order2 もインラインします。これは、$order1 と $order2 を定義すると、それぞれが一回のみ使用されるからです。これにより、 (変数から保存された値を取得するのではなく) FOR 句の一部として web サービスの呼び出しが繰り返して評価されるので、パフォーマンスが低下します。 |
| 回避策 | 次の手順に従って、ループでの高価な LET 句がインラインしないように ALDSP をコンフィグレーションします。
|
| CR314392 | Workshop for WebLogic 9.2 MP1 以前を使用して生成された ALDSP 3.0 アプリケーションをデプロイメントする場合、例外が発生します。 |
| プラットフォーム | ALDSP 3.0、Workshop for WebLogic 9.2 MP1 以前 |
| 説明 | Workshop for WebLogic 9.2 MP1 以前によって生成された WSDL ファイルを使用して ALDSP 3.0 アプリケーション (Admin Console を使用して) をデプロイメントする場合、この例外が発生する場合があります。 ALDSP は、Workshop for WebLogic 9.2 MP1 以前によって生成された WSDL ファイルをサポートしません。 |
| 回避策 | Workshop for WebLogic 9.2 MP2 を使用して WSDL を生成し、アプリケーションを再ビルドして再デプロイします。 |
| CR321293 | サーバは、Eclipse XSD エディタを使用して指定された参照スキーマ ファイルを検索することはできません。 |
| プラットフォーム | Microsoft Windows の Eclipse XSD エディタ |
| 説明 | Microsoft Windows は、ファイル名とフォルダ名内の大小文字を区別しません。 したがって、Microsoft Windows の Eclipse XSD エディタは、スキーマ ファイルの名前は正しくない場合、エラーをフラグしません。例えば、実際のスキーマ ファイル名は ProfileView.xsd の場合、エディタは以下のエントリをフラグしません。 <xsd:import namespace="urn:test" schemaLocation="profileView.xsd"/>
|
| 回避策 | Microsoft Windows の Eclipse XSD エディタを使用してスキーマ ファイルを参照する場合、大小文字を確認します。 |
| CR327132 | スキーマが、not null カラムのみではなく、すべてのカラムに対して、「minOccurs=0」で生成されます。 |
| プラットフォーム | Informix (BEA XA および BEA Non-XA JDBC ドライバを使用する)。 |
| 説明 | BEA XA または BEA Non-XA ドライバを持つ Informix データベースを使用してスキーマを作成する場合、スキーマが、not null カラムのみではなく、すべてのカラムに対して、「minOccurs=0」で生成されます。 |
| 回避策 | なし。 |
| CR327305 | Sybase ドライバを使用してテーブルをインポートした後、nativeSize のデータ タイプはゼロ (0) として表示されます。 |
| プラットフォーム | Sybase (Sybase JDBC ドライバを使用する) |
| 説明 | Sybase ドライバを使用する場合、以下のサンプル出力に示すように、テーブルをインポートした後、nativeSize のデータ タイプはゼロ (0) として表示されます。
xquery version "1.0" encoding "WINDOWS-1252"; (::pragma xds <x:xds xmlns:x="urn:annotations.ld.bea.com" targetType="t:sqlQuery" xmlns:t="ld:SY/datasource/TC_SQLWhereWithConstant/sqlQuery"> <creationDate>yyyy-mm-ddThh:mm:ss</creationDate> <relationalDB name="datasource" providerId="Sybase-12.5.2"/> <field xpath="FIRST_NAME" type="xs:string"> <extension nativeXpath="FIRST_NAME" nativeType="varchar" nativeTypeCode="12" nativeSize="0" nativeFractionalDigits="0"/>\\ <properties nullable="false"/> </field> <field xpath="LAST_NAME" type="xs:string"> <extension nativeXpath="LAST_NAME" nativeType="varchar" nativeTypeCode="12" nativeSize="0" nativeFractionalDigits="0"/>\\ <properties nullable="false"/> </field> |
| 回避策 | BEA Sybase JDBC ドライバを使用します。 |
| CR327820 | 一部の SQL クエリは、要素名のないスキーマを生成される場合があります。 |
| プラットフォーム | Sybase |
| 説明 | Sybase を使用する場合、以下に示す文と同じ SELECT 文は、要素名のないスキーマを生成します。
SELECT t1.PRODUCT_ID, sum(t2.QUANTITY) FROM PRODUCT t1 JOIN CUST_ORDER_LINE_ITEM_APPL t2 on (t1.PRODUCT_ID = t2.PRODUCT_ID) GROUP by t1.PRODUCT_ID |
| 回避策 | SQL 文のカラムのためのエリアスを指定します。例えば、前の SELECT 文を次のように書き直すことができます。
SELECT t1.PRODUCT_ID as PRODUCT_ID, sum(t2.QUANTITY) as QUANTITY FROM PRODUCT t1 JOIN CUST_ORDER_LINE_ITEM_APPL t2 on (t1.PRODUCT_ID = t2.PRODUCT_ID) GROUP by t1.PRODUCT_ID |
| CR328457 | Oracle JDBC ドライバおよび BEA Oracle JDBC ドライバは、ストアド プロシージャの CHAR 出力パラメータに対して異なる長さを返します。 |
| プラットフォーム | Oracle (Oracle JDBC ドライバおよび BEA Oracle JDBC ドライバを使用する)。 |
| 説明 | Oracle JDBC ドライバおよび BEA Oracle JDBC ドライバは、ストアド プロシージャの CHAR 出力パラメータに対して異なる長さを返す場合があります。次に例を示します。CREATE OR REPLACE PROCEDURE MYPROCEDURE1(P_CHAR_OUT OUT CHAR) ...<procedure_body>... この例では、P_CHAR_OUT はストアド プロシージャによって返された出力パラメータです。 |
| 回避策 | なし。 |
| CR328861 | 宣言した XML タイプに準拠しない XML を返す DSP コントロールのアド ホック クエリによって例外が生成されます。 |
| プラットフォーム | すべて |
| 説明 | DSP コントロールにアド ホック クエリを書き込む場合、アド ホック クエリが宣言した XML タイプに準拠しない XML を返すと、SDO データ オブジェクトのマーシャリングのときに次の例外が生成されます。
java.lang.IllegalArgumentException: A type with this name 'ADDRESS_TYPE@urn:sche mas-bea-com:ld-addr' already exists in this type system. <ComponentHandler.handleRequest:115> java.lang.IllegalArgumentException: A type with this name 'ADDRESS_TYPE@urn:schemas-bea-com:ld-addr' already exists in this type system. |
| 回避策 | 戻り型については、DSP コントロールのアド ホック クエリが XML スキーマに準拠することを確認します。 |
| CR331184 | NEIM スキーマを解析するときに例外が発生します。 |
| プラットフォーム | すべて |
| 説明 | NEIM スキーマを解析するときに、次に示す例外と同じような XmlException の例外が発生されます (例として、データ サービスおよび関連するスキーマを作成しようとした時)。org.apache.xmlbeans.XmlException: D:\Eclipse Workspaces\DSPDemo\NEIM\Schema\lexs\lexs.xsd:54:5: error: Problem parsing referenced XML resource - D:\Eclipse Workspaces\DSPDemo\NEIM\Schema\lexs\lexs-digest.xsd:689:1: error: Unexpected element: CDATA at org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225) |
| 回避策 | NEIM スキーマ ファイルの末尾から改行文字および空白類文字を削除します。 |
| CR332755 | ALDSP 3.0 アプリケーションで ALDSP 2.5 JDBC ドライバを使用する場合、例外が発生する可能性があります。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0 アプリケーションで、ALDSP 2.5 JDBC ドライバ (ldjdbc.jar) を使用して接続しようとした時に、以下に示すと同様に IncompatibleClassChangeError の例外が発生します。
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) |
| 回避策 | CR333047_810sp6.jar ファイルをダウンロードし、クライアント クラスパスに追加します。 |
| CR333489 | XQueries は、BEA XA ドライバを使用して不正なタイムスタンプを返す場合があります。 |
| プラットフォーム | Oracle (BEA XA JDBC ドライバを使用する)。 |
| 説明 | 以下と同様なクエリが発行された場合、BEA XA ドライバは不正なタイムスタンプを返す場合があります。<result>
{
for $i in f1:DATA_TIMESTAMP_ZONE()
return
<row>
{$i/C_ID}
{
if (fn:data($i/C_TIMESTAMP_ZONE_3) instance of xs:dateTime) then
<C_TIMESTAMP_ZONE_3>
<type>TIMESTAMP_ZONE</type>
<xmltype>xs:dateTime</xmltype>
<data>{fn:data($i/C_TIMESTAMP_ZONE_3)}</data>
</C_TIMESTAMP_ZONE_3>
else
<C_TIMESTAMP_ZONE_3></C_TIMESTAMP_ZONE_3>
}
{
if (fn:data($i/C_TIMESTAMP_ZONE_9) instance of xs:dateTime) then
<C_TIMESTAMP_ZONE_9>
<type>TIMESTAMP_ZONE</type>
<xmltype>xs:dateTime</xmltype>
<data>{fn:data($i/C_TIMESTAMP_ZONE_9)}</data>
</C_TIMESTAMP_ZONE_9>
else
<C_TIMESTAMP_ZONE_9></C_TIMESTAMP_ZONE_9>
}
{
if (fn:data($i/C_TIMESTAMP_ZONE_NULL) instance of xs:dateTime) then
<C_TIMESTAMP_ZONE_NULL>
<type>TIMESTAMP_ZONE</type>
<xmltype>xs:dateTime</xmltype>
<data>{fn:data($i/C_TIMESTAMP_ZONE_NULL)}</data>
</C_TIMESTAMP_ZONE_NULL>
else
<C_TIMESTAMP_ZONE_NULL></C_TIMESTAMP_ZONE_NULL>
}
</row>
}
</result>
この例では、期待された戻り値は以下のとおりです。 <C_TIMESTAMP_ZONE_3> <type>TIMESTAMP_ZONE</type> <xmltype>xs:dateTime</xmltype> <data>1999-04-15T08:00:00-07:00</data> </C_TIMESTAMP_ZONE_3> BEA XA ドライバは、代わりに以下を返します。 <C_TIMESTAMP_ZONE_3> <type>TIMESTAMP_ZONE</type> <xmltype>xs:dateTime</xmltype> <data>1999-04-09T17:20:00+09:00</data> </C_TIMESTAMP_ZONE_3> |
| 回避策 | Oracle ネイティブ XA JDBC ドライバを使用します。 |
| CR333689 | XQueries は、BEA XA ドライバを使用して一貫性のない結果を返す場合があります。 |
| プラットフォーム | Oracle (BEA XA JDBC ドライバを使用する)。 |
| 説明 | 以下と同様なクエリが発行された場合、BEA XA ドライバは、一貫性のない結果を返す場合があります。declare namespace ns = "ld:test/RDBMS/OR-CR/DATA_NUMBER"; declare namespace ns1 = "ld:test/RDBMS/OR-CR/DATA_FLOAT"; declare namespace ns2 = "ld:test/RDBMS/OR-CR/DATA_NUMBER_N_S"; declare namespace ns3 = "ld:test/RDBMS/OR-CR/DATA_NUMBER_N"; declare variable $ext as xs:decimal external; <result> { <column> { let $x := for $y in ns:DATA_NUMBER() where ($y/C_ID mod 2) ne 0 return $y/C_NUMBER mod $y/C_ID return( <all> <test1>{$x}</test1> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </column> } { <const> { let $x := for $y in ns1:DATA_FLOAT() where $y/C_ID gt ($y/C_FLOAT mod 2) return fn:concat( xs:string($y/C_ID), xs:string( 5 mod 4)) return( <all> <test2>{$x}</test2> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </const> } { <func> { let $x := for $y in ns2:DATA_NUMBER_N_S() where fn:string-length(xs:string($y/C_ID)) eq fn:abs( -5 mod 4) return fn:concat( xs:string($y/C_NUMBER_38_38 ), xs:string(4 mod 5)) return( <all> <test3>{$x}</test3> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </func> } (: { <param> { let $x := for $y in ns:DATA_NUMBER() where $y/C_NUMBER mod $ext return $y/C_NUMBER mod $ext return( <all> <test1>{$x}</test1> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </param> } { <null> { let $x := for $y in ns:DATA_NUMBER() where $y/C_NUMBER_NULL mod $y/C_ID return $y/C_NUMBER_NULL mod $y/C_ID return( <all> <test1>{$x}</test1> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </null> } :) { <join> { let $x:= for $y in ns:DATA_NUMBER() for $z in ns2:DATA_NUMBER_N_S() where $y/C_ID eq $z/C_ID return $y/C_NUMBER mod $z/C_NUMBER_38_38 return( <all> <test1>{$x}</test1> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </join> } { <orderby> { let $x:= for $y in ns:DATA_NUMBER() where true() order by $y/C_ID mod $y/C_NUMBER return $y/C_ID mod $y/C_NUMBER return( <all> <test1>{$x}</test1> <sql>{fn-bea:get-sql($x)}</sql> </all> ) } </orderby> } </result> <result><column><all><test1>1.1E-130 2.33</test1><sql>SELECT MOD(t1.'C_NUMBER',CAST(t1.'C_ID' AS NUMBER)) AS c1 FROM 'CRM'.'DATA_NUMBER' t1 WHERE (MOD(t1.'C_ID',2) != 0)</sql></all></column><const><all><test2>11 21 31</test2><sql>SELECT (TO_CHAR(t1.'C_ID') || '1') AS c1 FROM 'CRM'.'DATA_FLOAT' t1 WHERE (CAST(t1.'C_ID' AS NUMBER) > MOD(t1.'C_FLOAT',2.0))</sql></all></const><func><all><test3>.123456789012345678901234567890123456784 .1234 .14</test3><sql>SELECT (TO_CHAR(t1.'C_NUMBER_38_38') || '4') AS c1 FROM 'CRM'.'DATA_NUMBER_N_S' t1 WHERE (NVL(LENGTH(TO_CHAR(t1.'C_ID')),0) = 1)</sql></all></func><join><all><test1>1.1E-130 -1.1E-30 0.03</test1><sql>SELECT MOD(t1.'C_NUMBER',CAST(t2.'C_NUMBER_38_38' AS NUMBER)) AS c1 FROM 'CRM'.'DATA_NUMBER' t1 JOIN 'CRM'.'DATA_NUMBER_N_S' t2 ON (t1.'C_ID' = t2.'C_ID')</sql></all></join><orderby><all><test1>-INF 9.0E-31 0.67</test1><sql>SELECT MOD(CAST(t1.'C_ID' AS NUMBER),t1.'C_NUMBER') AS c1 FROM 'CRM'.'DATA_NUMBER' t1 ORDER BY MOD(CAST(t1.'C_ID' AS NUMBER),t1.'C_NUMBER') ASC</sql></all></orderby></result> <result><column><all><test1>1.1E-130 2.33</test1><sql>SELECT MOD(t1.'C_NUMBER',CAST(t1.'C_ID' AS NUMBER)) AS c1 FROM 'CRM'.'DATA_NUMBER' t1 WHERE (MOD(t1.'C_ID',2) != 0)</sql></all></column><const><all><test2>11 21 31</test2><sql>SELECT (TO_CHAR(t1.'C_ID') || '1') AS c1 FROM 'CRM'.'DATA_FLOAT' t1 WHERE (CAST(t1.'C_ID' AS NUMBER) > MOD(t1.'C_FLOAT',2.0))</sql></all></const><func><all><test3>.123456789012345678901234567890123456784 .1234 .14</test3><sql>SELECT (TO_CHAR(t1.'C_NUMBER_38_38') || '4') AS c1 FROM 'CRM'.'DATA_NUMBER_N_S' t1 WHERE (NVL(LENGTH(TO_CHAR(t1.'C_ID')),0) = 1)</sql></all></func><join><all><test1>1.1E-130 -1.1E-30 0.03</test1><sql>SELECT MOD(t1.'C_NUMBER',CAST(t2.'C_NUMBER_38_38' AS NUMBER)) AS c1 FROM 'CRM'.'DATA_NUMBER' t1 JOIN 'CRM'.'DATA_NUMBER_N_S' t2 ON (t1.'C_ID' = t2.'C_ID')</sql></all></join><orderby><all><test1>0.0 9.0E-31 0.67</test1><sql>SELECT MOD(CAST(t1.'C_ID' AS NUMBER),t1.'C_NUMBER') AS c1 FROM 'CRM'.'DATA_NUMBER' t1 ORDER BY MOD(CAST(t1.'C_ID' AS NUMBER),t1.'C_NUMBER') ASC</sql></all></orderby></result> |
| 回避策 | Oracle ネイティブ XA ドライバを使用します。 |
| CR334116 | RequestConfig.OUTPUT_FILENAME および invokeToFile() により、DASException が発生されます。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0. から RequestConfig.OUTPUT_FILENAME 機能が削除されています。同様に、ALDSP 3.0 では、invokeToFile() のメディエータ関数を利用できなくなっています。一部のメソッドとの下位互換性を確実にするために、RequestConfig.OUTPUT_FILENAME フラグを使用可能です。ただし、ALDSP 3.0 ではこの機能がサポートされないので、この機能を使用すると、DASException が発生します。 |
| 回避策 | なし。 |
| CR324401 | DB2 ストアド プロシージャへのバイナリ文字列データ型パラメータにより、例外が発生される可能性があります。 |
| プラットフォーム | DB2 |
| 説明 | DB2 ストアド プロシージャで、バイナリ文字列データ型パラメータ使用すると、以下と同様な XQueryTypeException が発生される場合があります。
Caused by: weblogic.xml.query.exceptions.XQueryTypeException: [ad-hoc], line 3, column 39:
{err}XP0004: Invalid static type: {http://www.w3.org/2001/XMLSchema}hexBinary
at
weblogic.xml.query.compiler.TypeMatchExpression.typeCheckNoCache(TypeMatchExpression.java:124)
at weblogic.xml.query.compiler.Expression.typeCheck(Expression.java:308)
|
| 回避策 | DB2 ストアド プロシージャで、バイナリ文字列データ型パラメータを使用しない。 |
| CR329108 | 新しいサーバのコンフィグレーションの時に追加されたプロジェクトがリストされません。 |
| プラットフォーム | すべて |
| 説明 | 次の手順を終了すると、プロジェクトがサーバ ビューの構成されたサーバに表示されません。
|
| 回避策 | プロジェクトを追加する場合、[プロジェクトの追加と削除] の画面の [次へをクリックして完了] ではなく、[完了] をクリックします。 |
| CR339199 | ALDSP 2.5 から ALDSP 3.0 データスペースへ移行されたアプリケーションで SQL 置換文が機能しません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 2.5 に対して作成された SQL 置換文は、アプリケーションが ALDSP 3.0 データスペースへ移行された後、機能しなくなります。これは、ALDSP 2.5 から ALDSP 3.0 へ移行した後、元の SQL 文が変更された場合があるからです。 |
| 回避策 | アプリケーションを ALDSP 2.5 から ALDSP 3.0 データスペースへ移行する場合、SQL 置換文を再作成し、テストします。 |
| CR351305 | item() を返す機能を含むデータ サービス ライブラリを参照する時に、Microsoft Visual Studio はエラーを表示します。 |
| プラットフォーム | Microsoft Visual Studio/ADO .NET |
| 説明 | ADO .NET は、戻り型として xs:anyType を使用する WSDL ファイルをサポートしません。ALDSP が item() を anyType* に返す機能を変換するので、これらのタイプの機能を含むデータ サービスを参照しようとした時に、Visual Studio は以下と同様なエラーを表示します。
Custom tool error: Unable to import WebService/Schema. Unable to import binding 'librarySoapBinding' from namespace 'ld:Logical/library_ws'. Unable to import operation 'XqueryNoInputOutput'. The element, XqueryNoInputOutputResponse, from namespace, ld:Logical/library_ws, was imported in two different contexts: (StructMapping, MembersMapping). |
| 回避策 | item() を返す .NET によって有効にしたデータ サービス機能を使用しない。 |
| CR349648 | 2 つのスキーマをデータ サービスにインポートした場合、ADO DataSet を表示できない可能性があります。 |
| プラットフォーム | すべて |
| 説明 | ADO.NET マニュアルに説明したとおり、ADO.NET は、ADO.NET DataSet の複雑なタイプをサポートするために以下の要件を満たす必要があります。
|
| 回避策 | 次のいずれかを行います。
|
| CR349102 | XQSE プロシージャおよび関数は、要素レベルのセキュリティをサポートしません。 |
| プラットフォーム | すべて |
| 説明 | データ サービスの読み込み専用ライブラリ関数および読み込み専用のないライブラリ プロシージャは、要素レベルのセキュリティをサポートしません。要素レベルおよびデータ駆動型セキュリティは、読み込み関数およびナビゲート関数にのみ適用します。 |
| 回避策 | 要素レベル セキュリティに代わる手段として、protected または private にする関数およびプロシージャに対して該当する XQSE 関数を書き込み、public にする関数およびプロシージャに対して 1 行の XQuery wrapper 関数を書き込みます。 |
| CR348492 | Eclipse ベースのツールは、Solaris および HP/UX ベースのプラットホームで公式にサポートされていなくても、これらのプラットフォームにインストールされています。 |
| プラットフォーム | Solaris および HP/UX。 |
| 説明 | サイレント/コンソール モードでは、AquaLogic Data Services Platform インストーラ アプリケーションは、Solaris ベースおよび HP/UX ベースのシステムに Eclipse をインストールし、クライアント ツールへのリンクを作成します。 |
| 回避策 | Solaris ベースおよび HP/UX ベースのシステム上のツールを使用しない。ALDSP Eclipse ベースの IDE ツールは、Microsoft Windows および Linux ベースのプラットフォームでサポートされます。ツールは、Solaris ベースおよび HP/UX ベースのシステムではサポートされません。 |
| CR347980 | スキーマ ツリーを表示する時、デザイン ビューに垂直スクロール バーが存在しません。 |
| プラットフォーム | すべて |
| 説明 | デザイン ビューでスキーマを表示する時に、関数が存在しない場合、垂直スクロール バーが表示されません。スキーマ ツリーが現在表示されているビュー以上に展開されても、この状況は同じです。 |
| 回避策 | 関数を追加すると、スクロール バーが表示されます。 |
| CR347865 | テスト ビューでのツリー表示は、Linux ベースのシステムでフォントを正しく表示しない場合があります。 |
| プラットフォーム | Linux。 |
| 説明 | AquaLogic Data Services Platform を Linux ベースのシステムで使用するとき、Linux のデフォルト フォント サイズは、テスト ビューのツリー表示におけるテキストを大きくして表示する可能性があります。その結果、ラベルが垂直に短縮されます。 |
| 回避策 | [アプリケーション|プレファレンス|フォント|アプリケーション フォント] を選択して、Linux デスクトップ アプリケーションのデフォルト フォント サイズを 8 ポイント以下に設定します。デスクトップでアプリケーション メニューがない場合、Linux マニュアル『アプリケーション フォントの設定』を参照してください。 |
| CR346978 | Web サービス ベースのデータ サービスのキーを指定できません。 |
| プラットフォーム | すべて |
| 説明 | Web サービス ベースのデータ サービスのキーを指定するために手動でフィールドを選択しようとした時に、AquaLogic Data Services Platform (Eclipse ALDSP 観点) は、システムにスキーマ ファイルを保存できないことを示す「指定したキーは、有効ではありません」ダイアログを表示する場合があります。 |
| 回避策 | データ サービスのキーを指定するには、以下の条件を満たす必要があります。
|
| CR346456 | ALDSP のインストールに続けると、ALDSP 観点が Eclipse に表示されません。 |
| プラットフォーム | Eclipse |
| 説明 | JDK1.4 を使用するために構成した Eclipse のすでにインストールされたバージョンは、ALDSP のインストールを検出することができません。 |
| 回避策 | Eclipse のすでにインストールされたバージョンを使用する場合、JDK 150_10 以上を使用するように Eclipse を構成します。 |
| CR339726 | ALDSP Console を使用してデータスペースをデプロイすると、「Name not valid」エラー メッセージが表示されます。 |
| プラットフォーム | すべて |
| 説明 | データスペース名が 64 文字に制限されます。64 文字以上の文字を含む名前で、データスペースをデプロイしようとした時に、ALDSP Console に「Name not valid」エラー メッセージが表示されます。 |
| 回避策 | データスペース名には、64 文字未満の文字を入力します。 |
| CR339900 | 新しい論理データ サービスを作成する時、不正な URI エラー メッセージが表示されます。 |
| プラットフォーム | すべて |
| 説明 | 新しい論理データ サービスを作成する時に、スキーマ ファイル名またはフォルダ名の前にスペースを入力するか、埋め込まれたスペースを使用した場合、次と同様の不正な URI エラー メッセージが表示されます。
ERROR: ld:JoinPattern/Logical/CustAddrCredit_1toM_1toM_Inner_Join.ds, line 9,
column 125: {err}XQ0046:
'ld:JoinPattern/Logical/schemas/ CUSTOMER_ADDRESS_CREDIT_INNER_JOIN.xsd':
illegal URI UpdatePattern/JoinPattern/Logical
CustAddrCredit_1toM_1toM_Inner_Join.ds line 9 1188433233135 3403
|
| 回避策 | スキーマ ファイル名またはフォルダ名の前にスペースを入力しない。または、名前に埋め込まれたスペースも含まない。 |
| CR352843 | AquaLogic Data Services Platform 3.0 では、インストールを続けるには、Workshop for WebLogic 9.2 MP2 の 2 つのパッチが必要になります。 |
| プラットフォーム | Workshop for WebLogic 9.2 MP2 |
| 説明 | Workshop for WebLogic 9.2 MP2 の 2 つの必要なパッチが、AquaLogic Data Services Platform 3.0 インストール プロセスの一部として自動的に適用されません。 |
| 回避策 | ALDSP 3.0 のインストール後、smartupdate ツールを使用して次の Workshop for WebLogic 9.2 MP2 パッチを手動で適用します。
|
| CR343891 | 非同期のオペレーションは、トランザクション コンテキストを伝播しません。 |
| プラットフォーム | すべて |
| 説明 | 非同期の web サービスおよび Java コントロールは、トランザクション要求または設定 (ReadTransaction など) にかかわらずトランザクション コンテキストを伝播しません。非同期のオペレーションは、同様に新しいトランザクションを開始することはできません。 |
| 回避策 | なし。 |
| CR352226 | 外部関数を追加した後、一部のタスクを実行する場合、エラー メッセージが表示される場合があります。 |
| プラットフォーム | すべて |
| 説明 | 外部関数を追加すると、次のいずれかのエラーが表示される可能性あります。
|
| 回避策 | [プロジェクト エクスプローラ] で [リフレッシュ] をクリックします。または、[はい] をクリックしてファイルを上書きできます。 |
| CR338127 | Solaris ベースの Web ブラウザを使用してデータ系統グラフを表示できません。 |
| プラットフォーム | Firefox web browser on Solaris |
| 説明 | Solaris バージョンの Firefox Web ブラウザには、ネイティブ SVG ビューアまたはプラグインが提供されていません。したがって、データ系統のグラフィカルなビューを表示できません。 |
| 回避策 | 表形式ビューを使用して、データ系統を表示します。 |
| CR338237 | HP-UX ベースの Web ブラウザを使用してデータ系統グラフを表示できません。 |
| プラットフォーム | Firefox web browser on HP-UX |
| 説明 | HP-UX バージョンの Firefox Web ブラウザには、ネイティブ SVG ビューアまたはプラグインが提供されていません。したがって、データ系統のグラフィカルなビューを表示できません。 |
| 回避策 | 表形式ビューを使用して、データ系統を表示します。 |
| CR352445 | 更新メタデータ オペレーションを実行すると、リファクタ ソースが正しく生成されない可能性があります。 |
| プラットフォーム | すべて |
| 説明 | 更新メタデータ オペレーションは、元のソース内の属性値が一重引用符で囲まれている場合、リファクタ XML データを正しく生成されない可能性があります。
<functionForDecomposition arity='0' name='t:CUSTOMER'/> |
| 回避策 | 元のソース XML で、すべての属性値が二重引用符で囲まれていることを確認します。 |
| CR352805 | ALDSP 3.0 を使用してアップグレードした Java プロジェクトをデプロイできません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0 を使用して Java プロジェクト (データ サービスによって必要) をアップグレードすると、アップグレード プロセスは、java 6.0 ファセットを追加するので、WebLogic Server 9.2 MP2 環境に Java プロジェクトをデプロイできなくなります。 |
| 回避策 | 次の手順に従います。
|
| CR343934 | アクティブ状態であるデプロイされたデータスペースの管理リクエストをチェックし始めると、エラーが生成されます。 |
| プラットフォーム | すべて |
| 説明 | デプロイされたデータスペースはすでにアクティブ状態である場合、[管理リクエストのチェック] をクリックすると、デプロイメント例外がログされ、次のメッセージが表示されます。
EAR activation for dataspace '<name>' failed.Cause(s): - \[Deployer:149156\]Illegal state for operation start: 'STATE_ACTIVE' |
| 回避策 | アクティブ状態であるデプロイされたデータスペースで管理リクエストをチェックしない。代わりに、次の手順に従います。
|
| CR352634 | 一部のデータ サービス関数は、ストアド プロシージャとしてパブリッシュできません。 |
| プラットフォーム | すべて |
| 説明 | 以下のタイプのデータ サービス関数は、ストアド プロシージャとしてパブリッシュできません。
|
| 回避策 | なし。 |
| CR333331 | SQL クエリによって、「Extra characters at the end of a datetime or interval」エラーが生成されます。 |
| プラットフォーム | Informix、すべての UNIX (Informix XA JDBC ドライバを使用する)。 |
| 説明 | ネイティブ Informix XA ドライバを使用する場合、一部の SQL クエリは、以下の例に示すように「Error executing SQL query: Extra characters at the end of a datetime or interval」エラーが発生される可能性があります。
Caused by: com.bea.ld.wrappers.rdb.exceptions.RDBWrapperException: [ad-hoc],
line 10, column 1: {bea-err}RDBW0004: [ifrtl20ds]: [SELECT DISTINCT
t1.cc_type AS c1
FROM rtlall_20:informix.credit_card t1, rtlall_20:informix.address t2
WHERE ((t1.customer_id = t2.customer_id) AND (t1.exp_date >= {ts '2007-01-01
00:00:00'}) AND (t2.city = 'San Jose'))]:
Error executing SQL query: Extra characters at the end of a datetime or interval.
at
com.bea.ld.wrappers.rdb.exceptions.RDBWrapperException.create(RDBWrapperException.java:81)
|
| 回避策 | BEA Informix JDBC ドライバを使用します。 |
| CR344349 | クエリ結果のドキュメントに無効な XML 文字を生成します。 |
| プラットフォーム | DB2 (ネイティブ DB2 JDBC ドライバを使用)。 |
| 説明 | ネイティブ DB2 ドライバを使用すると、クエリが、結果として生じるドキュメントに無効な XML 文字 (Unicode: 0x0) を生成する可能性があります。 |
| 回避策 | BEA DB2 JDBC ドライバを使用します。 |
| CR345306 | SOAP 1.2 エンコーディングは、ALDSP ネイティブ Web サービスをサポートしません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP は、SOAP 1.1 および 1.2 をサポートし、バージョンによって、WSDL の生成時に作成する SOAP バインディングのタイプを決定します。デフォルト値は 1.1 です。SOAP 1.2 エンコーディングはサポートされません。エンコーディングは、SOAP 1.2 仕様によって定義された任意の機能です。 |
| 回避策 | エンコーディングされたメッセージを処理するには、JAX-RPC ハンドラを作成します。 |
| CR355266 | JPD 呼び出しを使用する ALDSP 2.5 アプリケーションを ALDSP 3.0 で使用すると機能しません。 |
| プラットフォーム | すべて |
| 説明 | ALDSP 3.0 は、更新の上書きの JPD キャプションを使用する ALDSP 2.5 から ALDSP 3.0 へ移行したアプリケーションをサポートしません。 |
| 回避策 | この機能は、ALDSP 3.0 では利用できません。ALDSP の将来のバージョンではこの機能をサポートします。 |
| CR294861 |
LONG_RAW より前にタイムゾーンを指定したタイムスタンプが取得された場合、例外が発生します。 |
| プラットフォーム | すべて (Oracle JDBC ドライバを使用する)。 |
| 説明 | Oracle データベース使用時に、LONG_RAW の前にタイムゾーンを指定したタイムスタンプが取得されると、「... Stream has already been closed」例外が発生します。これは、blob と clob の前に取得された LONG_RAW を Oracle が処理する方法と一致しています。 |
| 回避策 | Oracle 使用時には、タイムゾーンを指定したタイムスタンプと LONG_RAW の取得順を逆にします。 |
| CR286359 | Oracle データベースでメタデータをインポートまたは同期化するときに、フロート要素のネイティブの幅が不適切に計算される可能性があります。 |
| プラットフォーム | すべて (BEA Oracle JDBC ドライバを使用)。 |
| 説明 | Oracle データ ソースでメタデータをインポートまたは同期するときに、フロート要素の幅が不適切に (6 または 9 の代わりに 15 で) 表示される可能性があります。この問題は WebLogic JDBC Oracle ドライバ (バージョン 3.0.5.0) を使用する場合に確認されました。 |
| 回避策 | Oracle のネイティブ JDBC ドライバ (Oracle.jdbc.driver.OracleDriver) を使用したメタデータの同期化ではこの問題は見られませんでした。したがって、ネイティブのフロート要素の幅が問題となる場合は、Oracle JDBC ドライバを使用します。 |
| CR292257 | メタデータのインポート中、ストアド プロシージャをデータ サービスにマップするときに、重複した名前が許容されます。 |
| プラットフォーム | すべて |
| 説明 | SQL ネーム マッピング ユーザ インタフェースで、同じスキーマにおいて同じ名前の複数のストアド プロシージャをコンフィグレーションできるようになっている可能性があります。しかし、同じ名前の複数のストアド プロシージャをコンフィグレーションした場合、JDBC メタデータ API で JDBC を介したプロシージャを実行すると、予期しない結果が発生します。 |
| 回避策 | [SQL 使用のためのデータ サービスのパブリッシュ] ウィザードで、名前が重複しないように、ストアド プロシージャの名前を手動で変更します。 |
| CR291781 | 同じポートでホストされているすべての Web サービスに関して、Excel アドインは最初に HTTP 基本認証ログイン資格を再利用しようとします。 |
| プラットフォーム | すべて |
| 説明 | 1 つの Excel ワークシートで複数の Web サービスがコンフィグレーションされていて、これらの Web サービスが同じホスト マシンとポート番号によってホストされている場合、Excel アドインは最初に、これらのサービスの以前に受け付けたユーザ名/パスワードを再利用しようとします。 ユーザ名/パスワードが特定の Web サービスで有効でない場合は、ログイン ダイアログが表示されます。同じ Excel セッション中の以降の Web サービス呼び出しでは、各サービスの正しいログイン情報が使用されます。 |
| 回避策 | Web サービス呼び出しを最初に誤った資格で認証することが望ましくない場合でない限り、対策は必要でありません。 Web サービスが異なる資格を必要とする場合は、Web サービスを別々のサーバでグループ化します。または、Web サービスが同じホスト/ポートによってホストされていて、別々の資格を必要とする場合は、各 Web サービスを別々の Excel ワークシート上で使用します。 |
| CR290239 | いくつかの基底の WSDL 要素定義の属性と属性定義の属性が、AquaLogic Data Services Platform の Excel アドインで現在サポートされません。 |
| プラットフォーム | すべて |
| 説明 | 以下の要素定義の属性は現在サポートされません。
|
| 回避策 | 上記の定義属性を含む WSDL は想定どおりに機能しない可能性があります。問題が発生した場合は、WSDL からこれらの定義属性を削除します。 |
| CR284834 | Informix のデータにアクセスする場合、可能であれば Informix ネイティブ JDBC ドライバを使用します。 |
| プラットフォーム | Informix データベース システムを使用するすべてのプラットフォーム。 |
| 説明 | AquaLogic Data Services Platform 経由でデータにアクセスする場合、WebLogic Informix JDBC ドライバはネイティブ Informix JDBC ドライバよりもパフォーマンスが低い。 |
| 回避策 | 必要な回避策はないが、Informix データで最適なパフォーマンスを得るには、ネイティブ JDBC ドライバを使用します。 |
| CR279492 | 実行時に Web サービスに基づいたデータ サービスを使用する場合、form または elementFormDefault が一致しないと、検証エラーが発生する可能性があります。この問題は、「Form」属性の再定義がサポートされていないことが原因で発生します。 |
| プラットフォーム | すべて |
| 説明 | 設計時に次のいずれかに該当する場合は、
|
| 回避策 | コンパイルの前に、主要なスキーマとインポートまたはインクルードされるスキーマの elementFormDefault を一致させます。また、要素の form 属性を主要なスキーマの elementFormDefault に一致させます。 |
| CR288384 | AquaLogic Data Services Platform Administration Console のデータ系統機能には、Linux および UNIX 環境で X11 グラフィカル環境が必要。 |
| プラットフォーム | UNIX および Linux |
| 説明 | 次のようなエラーが、 java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment この状況は、AquaLogic Data Services Platform Administration Console をホストする管理サーバが Linux または UNIX ホスト上で実行されていて、次のいずれかの条件 (完全なリストではない) に該当する場合に発生します。
|
| 回避策 | この問題を解決するには、次のヘッドレス プロパティを true に設定します。 -Djava.awt.headless=true このプロパティは、WebLogic Server 起動スクリプト (startWeblogic.sh) 内のサーバを起動するスクリプト部分で指定します。 |
| CR283262 | MS Excel と EasySoft または OpenLink を一緒に使用する場合、SQL に条件を追加できません。 |
| プラットフォーム | すべて |
| 説明 | Microsoft Query で [抽出条件の追加] ウィンドウを使用してクエリ条件を追加すると ([条件|抽出条件の追加])、AquaLogic Data Services Platform データ ソースにアクセスするときにエラー メッセージが送出されます。 |
| 回避策 | この問題を回避策するには、
|
| CR264597 | MS-SQL (および Sybase) が関与する文字列比較演算で、比較演算が MS-SQL によって計算されるときに、誤った結果が返される場合があります。 |
| プラットフォーム | すべて |
| 説明 | 「CR264597 の詳細」を参照してください。 |
| 回避策 | 「CR264597 の詳細」を参照してください。 |
| CR204243 | xs:integer または xs:long から xs: Decimal にキャストした場合、生成される値が正しくないことがあります。 |
| プラットフォーム | すべて |
| 説明 | 上記のとおり。 |
| 回避策 | 不正な結果の可能性を回避するには、xs:integer リテラルの代わりに文字列リテラルを使用します。たとえば、次のような場合は、 xs: Decimal( 9223372036854775807 ) 代わりに次のようにします。 xs: Decimal( "9223372036854775807" ) |
| CR260587 | クライアントの DiffGram で要素の順序が変更されていて、検証オプションが有効である場合、SDO の更新処理中に例外が発生する可能性があります。 |
| プラットフォーム | ADO.NET クライアントを使用するすべてのプラットフォーム。 |
| 説明 | DiffGram 内の要素の順序は変わることがあり、その結果 DataGraph の検証が失敗する可能性があります。 |
| 回避策 | 可能な場合は、この処理に対する検証を無効にします。 |
| CR265950 | ドキュメント スタイルの Web サービスのオペレーションでエンド ポイント名の変更が有効になりません。 |
| プラットフォーム | すべて |
| 説明 | ドキュメント スタイルの Web サービスは入力 (呼び出しパラメータ) 型を使用して呼び出す Web サービス オペレーションを決定します。オペレーション名は SOAP 要求に含まれていません。このため、ドキュメント スタイルの Web サービスで、エンド ポイントの変更の際にオペレーション名が上書きされても機能しません。 |
| 回避策 | なし。 |
| CR258884 | セキュリティの決定が監査されません。 |
| プラットフォーム | すべて |
| 説明 | セキュリティをサポートする XQuery 関数が、監査フレームワークによって追跡されません。 |
| 回避策 | なし。 |
| CR257878 | スキーマ要素とネームスペースで Java キーワードを使用すると名前の衝突が起きることがあります。 |
| プラットフォーム | すべて |
| 説明 | スキーマ要素とネームスペースは、スキーマのコンパイル プロセス中に Java のクラスとパッケージに変換されます。そのため、Java のキーワードや構文と名前の衝突が起きる可能性が出てきます。 |
| 回避策 | 必要に応じて、JVM が予約語や構文として認識する可能性のある構文は使わないようにします。 |
| CR256214 | 一部の DBMS システムが「プッシュダウン」された定数を適切に処理しないことがあります。 |
| プラットフォーム | 一般サポートのみが提供されているデータベース プラットフォーム。 |
| 説明 | 基本の (特別にサポートされていない) データベース プラットフォームに送信された SQL 文で、文字列リテラルの構文に関して「推定 (best guess)」が使用されています。そのような形式は機能しない場合もあります。例として、バックスラッシュ [aldsp2: \ ] そのような場合は SQL 生成コードによって処理されず、無効な SQL が生成される可能性があります。 |
| 回避策 | この問題には次のような 2 つの回避策があります。
|
| CR248407 | メタデータ インポート ウィザードが入出力パラメータの検出に失敗します。 |
| プラットフォーム | すべて |
| 説明 | MSSQL および Sybase のストアド プロシージャに関連したある状況で、自動的に検出されない結果セットが返されます。 |
| 回避策 | まず、結果セットの出力にマップされているスキーマを手動でビルドします。次に、メタデータをインポートするときにウィザードを使用し、ROWSET を追加して、以前に作成されたスキーマにリンクさせます。 |
| CR242938 | 多次元 SOAP 配列は RPC モードではサポートされません。 |
| プラットフォーム | すべて |
| 説明 | AquaLogic Data Services Platform で提供される Web サービス ラッパーは、RPC スタイルの Web サービスで 1 次元配列のみをサポートしています。 |
| 回避策 | なし。 |
| CR224815 | アプリケーション サーバからの Web サービスの最初の呼び出しは、通常、以降の呼び出しよりも時間がかかります。最初の呼び出しに必要な時間よりもタイムアウト値が小さい場合、代わりの式 (通常はタイムアウト エラー) が評価されます。 |
| プラットフォーム | すべて |
| 説明 | Web サービスを最初に呼び出すときに「起動のオーバーヘッド」があります。オーバーヘッドがタイムアウトしきい値を超えた結果、指定されたタイムアウト エラーが発生する可能性があります。 |
| 回避策 | Web サービス呼び出しを含む式に対してタイムアウトを設定する場合は、タイムアウト値を、最初の呼び出しに必要な測定された時間よりも大きい値に設定します。 |
| CR239369 | XQuery は UPPER および LOWER (SQL-92) をサポートしていないデータベースに対して無効な SQL を生成する可能性があります。 また、UPPER(null) または LOWER(null) がデータベース レベルにプッシュダウンされる場合、基本のデータベース (特別にサポートされていないデータベース) および Oracle に関する空の入力の処理が、XQuery 仕様から逸脱します。 |
| プラットフォーム | 基本のデータベースおよび Oracle データベースを実行するすべてのプラットフォーム。 |
| 説明 | この問題には次のような 2 つの側面があります。
|
| 回避策 | fn-bea:Fence() 関数を使用して、upper-case() または lower-case() 関数がデータベースへプッシュダウンされないようにします。例 : lower-case(fn-bea:fence(...)) |
| CR207637 | xs: Decimal を含む Microsoft SQL Server ストアド プロシージャから派生したメタデータにアクセスする XQuery 関数において、例外が発生します。 |
| プラットフォーム | すべて |
| 説明 | Microsoft SQL Server からストアド プロシージャをインポートするときに、BEA JDBC ドライバが SQL decimal 型をスキーマの integer (xs:int) 型に誤ってマップします。 |
| 回避策 | ストアド プロシージャをインポートするときに、データ型を xs:int から xs: Decimal に変更します。または、インポートされたデータ サービスのメタデータを変更して、影響を受けるカラムのスキーマ型を xs: Decimal に指定します。 |
| CR203394 | ストアド プロシージャからデータ サービスを作成するときに、ROWTYPE 入力カーソルがサポートされません。 |
| プラットフォーム | すべて |
| 説明 | メタデータのインポートでは、IN および INOUT カーソルに ROWID を含むストアド プロシージャは、現在サポートされていません。 |
| 回避策 | IN または INOUT ROWID パラメータを使用する必要があるストアド プロシージャについては、メタデータのインポートを避けます。 |
| CR214585 | キャレット (^) を含む正規表現と一緒に fn:matches() を使用すると、誤った結果になる場合があります。 |
| プラットフォーム | すべて |
| 説明 | 正規表現の行の先頭のマッチ演算子 (^) を fn:matches() と一緒に使用すると、誤った結果が生成されます。 |
| 回避策 | キャレット (^) を含む正規表現と一緒に fn:matches() を使用しない。 |
| CR215251 | DBMS で許容される最大長より 2 文字以内短い識別子がエラーになる場合があります。 |
| プラットフォーム | Sybase (あるいは他の) データベースを実行するすべてのプラットフォーム。 |
| 説明 | 一部の DBMS システムでは、識別子の長さに制限を設けています (Sybase の場合は 30)。AquaLogic Data Services Platform はデータベースにプッシュされるクエリを一重引用符で囲むため、実際には、識別子の最大長は 2 文字少なくなります (Sybase の場合は 28)。 |
| 回避策 | テーブルの名前を変更するか、より短い名前でビューを作成します。 |
| CR226019 | データ サービス関数のパラメータ数が変更されると、その関数に関連付けられているアクセス制御ポリシーが失われる可能性があります。 |
| プラットフォーム | すべて |
| 説明 | データ サービス関数の署名とは、その QName と関数のパラメータの数 (アリティ) であります。関数に対してセキュリティ ポリシーを設定した後で、関数のパラメータの数を変更すると、その関数は新しいものとして扱われ、以前に設定されたポリシーは無効になります。 |
| 回避策 | 関数のアリティを変更した場合は、その関数にセキュリティ ポリシーを再適用します。 |
| CR213916 | BEA Informix JDBC ドライバが null の可能性に関する情報を返しません。 |
| プラットフォーム | Informix を実行するすべてのプラットフォーム。 |
| 説明 | BEA Informix ドライバはテーブル カラムの null の可能性 (不明としてマークされるかどうか) についての情報を返しません。メタデータのインポート中、生成される XML スキーマでは、そのカラムに相当する要素の minOccurs が 0 に設定されます。 |
| 回避策 | インポートされたメタデータ ファイルを修正して、null が可能なカラムの minoccurs 値を 0 から 1 に変更します。 |
| CR214983、CR211701、CR201821 | MSSQL VARIANT データ型のサポートが限定されています。 |
| プラットフォーム | すべて |
| 説明 | この MSSQL VARIANT データ型 (sql_variant) には次の 2 つの制限があります。
|
| 回避策 | なし |
| CR221015, CR319972 | メタデータのインポート中、BEA Sybase JDBC ドライバは、ユーザがアクセスを許可されているすべてのテーブルを表示しないことがあります。 |
| プラットフォーム | BEA Sybase JDBC ドライバ経由で Sybase にアクセスするすべてのプラットフォーム。 |
| 説明 | メタデータのインポート中、BEA Sybase JDBC ドライバは、ユーザにアクセス権を付与しているすべてのテーブルを表示しないことがあります。 |
| 回避策 | これは BEA Sybase ドライバの制限であります。インポートを目的とする場合、「dbo user」に移動すると、使用可能なテーブルのすべてを参照できます。 |
| CR202963 | BEA Oracle JDBC ドライバで TIMESTAMP 値を使用すると、ストアド プロシージャが切り捨てられます。 |
| プラットフォーム | Oracle と BEA Oracle JDBC ドライバを一緒に使用するすべてのプラットフォーム。 |
| 説明 | BEA の Oracle JDBC ドライバを使用している場合、ストアド プロシージャが TIMESTAMP 値を返すと、その値はミリ秒レベルで切り捨てられます。たとえば、値が 1997-01-31 09:26:50.124 1997-01-31 09:26:50.0 |
| 回避策 | TIMESTAMP 値を返す Oracle JDBC ドライバのストアド プロシージャを使用します。 |
| CR223429、CR228802 | Sybase JDBC ドライバが getBlob() 呼び出しをサポートしていません。 |
| プラットフォーム | Sybase と Sybase JDBC ドライバを一緒に使用するすべてのプラットフォーム。 |
| 説明 | コンフィグレーション実装では JDBC ドライバの getBlob() 呼び出しを使用しているため、Sybase JDBC ドライバを使用する場合は AquaLogic Data Services Platform キャッシュ コンフィグレーションが機能しません。Sybase JDBC ドライバは getBlob() をサポートしていません。 |
| 回避策 | AquaLogic Data Services Platform のキャッシュ データ ソースとして Sybase を使用する場合は、Sybase データベース用の BEA JDBC ドライバを使用します。 |
| CR214730 | SQL Server JDBC ドライバが tinyint 型の最大値を不適切に表示します。 |
| プラットフォーム | SQL Server と SQL Server JDBC ドライバを一緒に使用するすべてのプラットフォーム。 |
| 説明 | SQL Server の tinyint 型の最大値 255 が、Microsoft SQL Server JDBC ドライバによって 1 と解釈されます。 |
| 回避策 | SQL Server 用の BEA JDBC ドライバを使用します。 |
| CR223486、CR226239、CR226171 | Informix JDBC ドライバは、TIMESTAMP 値を指定するための標準の JDBC 構文をサポートしていません。 |
| プラットフォーム | Informix と Informix JDBC ドライバを一緒に使用するすべてのプラットフォーム。 |
| 説明 | Informix ネイティブ ドライバは、TIMESTAMP 値を指定するための標準の JDBC 構文をサポートしていません。たとえば、 1979-03-01 00:00:00.0 |
| 回避策 | Informix 用の BEA JDBC ドライバを使用します。 |
| CR199675 | Oracle 用の BEA JDBC ドライバは、データ検索で UROWID カラム型をサポートしていません。 |
| プラットフォーム | Oracle と BEA JDBC ドライバを一緒に使用するすべてのプラットフォーム。 |
| 説明 | Oracle 用の BEA JDBC ドライバを使用する場合、UROWID を検索すると、次のようなエラー メッセージが返されます。
[aldsp2:BEA][aldsp2:Oracle JDBC Driver]Internal error: Net8 protocol error |
| 回避策 | データに UROWID カラム型が含まれている場合は、Oracle JDBC ドライバを使用します。 |
| CR212515 | PL/SQL RECORD、BOOLEAN、または非スカラ要素型をもつテーブルを返す Oracle ストアド プロシージャはサポートされていません。 |
| プラットフォーム | Oracle を使用するすべてのプラットフォーム。 |
| 説明 | Oracle ストアド プロシージャの制限の詳細については、現在公開されている以下のドキュメントを参照してください。 http://www.stanford.edu/dept/itss/docs/oracle/9i/java.920/a96654/ref.htm#1007714 |
| 回避策 | なし。 |
| CR202041 | CURSOR 出力を返す SQL Server ストアド プロシージャのメタデータを作成できません。 |
| プラットフォーム | SQL Server を使用するすべてのプラットフォーム。 |
| 説明 | SQL Server からメタデータをインポートする場合、CURSOR 出力を返すストアド プロシージャはサポートされていません。 |
| 回避策 | インポートされたデータ サービス ファイルを変更して、カーソルの正しいデータ型を指定します。 |
| CR227440 | CLOB データを返す DB2 ストアド プロシージャのメタデータを作成できません。 |
| プラットフォーム | DB2 を使用するすべてのプラットフォーム。 |
| 説明 | DB2 からメタデータをインポートする場合、CLOB データを返すストアド プロシージャはサポートされていません。 |
| 回避策 | なし。 |
| CR265965 | Oracle JDBC ドライバを使用して、末尾に空白のある Oracle の CHAR/NCHAR を更新または削除すると、オプティミスティック ロック エラー メッセージが表示されて失敗します。 |
| プラットフォーム | Oracle の非 XA JDBC ドライバを使用するすべてのプラットフォーム。 |
| 説明 | Oracle の非 XA JDBC ドライバを使用している場合は、文字数が 1024 文字以下の場合にのみ、CHAR および NCHAR カラムを更新できます。 |
| 回避策 | 可能な場合は BEA の Oracle JDBC ドライバ (Type 4) を使用します。 |
| CR202962 | 入力として CHAR または NCHAR を含む Oracle ストアド プロシージャが原因でサーバ エラーが発生します。 |
| プラットフォーム | すべて |
| 説明 | INOUT パラメータを使用する Oracle ストアド プロシージャがある場合、AquaLogic Data Services Platform を使用してストアド プロシージャを実行するとエラーが発生する可能性があります。エラーが以下と同じです。 java.lang.RuntimeException: ORA-01460: unimplemented or unreasonable conversion requested |
| 回避策 | TRIM を使用して INOUT パラメータのサイズを減らすことで、ストアド プロシージャの呼び出しを変更します。aldsp2 : コード リスト 1 の CR202962 に関する「aldsp2 : サンプル コード」を参照してください。 |
この節には、前述のリリース ノートに関連するコードとその他の追加情報があります。
MSSQL (および Sybase) が関与する文字列比較演算で、比較演算が MSSQL によって計算されるときに、誤った結果が返される場合があります。
データベースやサーバのコンフィグレーションに応じて、MSSQL Server は、文字列比較演算で大文字/小文字を区別しない照合を使用する可能性があります (これはデフォルトのコンフィグレーションです)。これは、大小文字を区別する XQuery 文字列比較演算と異なります。
SQL を生成するときに AquaLogic Data Services Platform は現在にデータベース文字列の照合を考慮していません。したがって、XQuery エンジンによる評価結果と比較すると、MSSQL データベースに「プッシュダウン」された式では異なる結果が生成される可能性があります。
次のような種類の式が影響を受けます。
たとえば、次のような 2 つの行と 2 つのカラムをもつテーブルを考えてみます。
CUSTOMER(ID, FIRST_NAME)
| ID | FIRST_NAME |
|---|---|
| 1 | John |
| 2 | john |
次の XQuery は、データベースによって評価されるかどうかに応じて異なる結果を返します。
for $c in CUSTOMER()
where $c/FIRST_NAME eq "john"
return $c/ID
XQuery セマンティクスに従うと、クエリは次のように返します。
<ID>2</ID>
この場合、2 番目のレコードのみが選択条件に一致します。
一方、AquaLogic Data Services Platform が基底の MSSQL データベースにクエリをプッシュダウンした場合は、次のような SQL が生成されます。
SELECT t1."C_ID" AS c1
FROM "CUSTOMER" t1
WHERE t1."FIRST_NAME" = "john"
この場合、両方のレコードが MSSQL データベースによって返されます (大文字/小文字を区別しない文字列照合が設定されます)。
<ID>1</ID>
<ID>2</ID>
計算が MSSQL にプッシュダウンされる場合、文字列照合に関する XQuery セマンティクスに従うための、いくつかの回避策があります。
データベースが文字列比較に使用する照合設定の変更を検討します。以下の「SQL Server Collation Fundamentals」ドキュメントを参照してください。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar
照合は、サーバ、データベース、またはカラム レベルで変更できます。
fn-bea:fence( ) 関数を使用してプッシュダウンをブロックします。上記の例の場合は、次のようになります。
for $c in CUSTOMER()
where fn-bea:fence(data($c/FIRST_NAME)) eq "john"
return $c/ID
ただし、この方法では、AquaLogic Data Services Platform エンジンがテーブル全体を取得して処理する必要があるため、パフォーマンスに悪影響を与える可能性があります。
パフォーマンスを最適化するには、クエリで比較演算を複製して、1 つのコピーを許可してデータベースに評価されるようにし、もう 1 つのコピーを AquaLogic Data Services Platform エンジンに保持しておきます。次のクエリはこのような方法を例示したものです。
for $c in CUSTOMER() where $c/FIRST_NAME eq "john" where fn-bea:fence(data($c/FIRST_NAME)) eq "john" return $c/ID
このアプローチでは、XQuery エンジンが処理する必要のある結果の数を制限しますが、2 番目の選択内容を適用して、正しい XQuery セマンティクスを得ています。
CR202962 のサンプル コードは以下のとおりです。
** CREATE OR REPLACE PROCEDURE WIRELESS.SP_CHAR
(P_CHAR_IN IN CHAR,
P_CHAR_OUT OUT CHAR,
P_CHAR_INOUT IN OUT CHAR,
P_ID_OUT OUT VARCHAR2 )
IS
TEMP VARCHAR2(10);
BEGIN
SELECT C_ID INTO P_ID_OUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_CHAR = P_CHAR_IN;
SELECT C_CHAR INTO P_CHAR_OUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_ID = '2';
SELECT C_ID INTO TEMP
FROM WIRELESS.ALL_DATATYPES
WHERE C_CHAR = P_CHAR_INOUT;
SELECT 'WORK' INTO P_CHAR_INOUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_ID = TEMP;
END;
/
TRIM を使用して PCHAR_INOUT のサイズを調整すると、次のようになります (太字のコードを参照)。
CREATE OR REPLACE PROCEDURE WIRELESS.SP_CHAR
(P_CHAR_IN IN CHAR,
P_CHAR_OUT OUT CHAR,
P_CHAR_INOUT IN OUT CHAR,
P_ID_OUT OUT VARCHAR2 )
IS
TEMP VARCHAR2(10);
\*ACHAR CHAR(500);
BEGIN
ACHAR := trim(P_CHAR_INOUT);
\*
SELECT C_ID INTO P_ID_OUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_CHAR = P_CHAR_IN;
SELECT C_CHAR INTO P_CHAR_OUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_ID = '2';
SELECT C_ID INTO TEMP
FROM WIRELESS.ALL_DATATYPES
\*WHERE C_CHAR = ACHAR; // ここで失敗する
\*
SELECT 'WORK' INTO P_CHAR_INOUT
FROM WIRELESS.ALL_DATATYPES
WHERE C_ID = TEMP;
END;
/
| バージョン : | 3.0 |
| ドキュメント日付 : | 2005 年 6 月 |
| 改訂 : | 2008 年 1 月 |
Contact BEA | Feedback | Privacy | (c) 2008 BEA Systems
| 2008 年 1 月 14 日に 18:48:00 に Confluence によって作成されたドキュメント |