ページの本文へ

Hitachi
お問い合わせお問い合わせ

Q-B101. ORACLEからデータを抽出しようとすると、ORACLEのエラー「ORA-00933:SQLコマンドが正しく終了されていません」が表示されました。何が原因ですか?

DBPARTNER2の接続先定義ファイルのEXCLUSIVEまたはUPEXCLUSIVEパラメタに、排他モードが設定されていないかどうかを確認してください。設定がある場合は、このパラメタを削除してください。

#ORACLE

Q-B102. DBPARTNER2から、VOS3 XDM/RD E2へアクセスする場合、NCHAR(4)のカラムを含んだ表のデータを変更または削除するとDBP0712Wエラーが発生しました。更新できない理由を教えてください。

DBPARTNER2では、XDM/RD E2は、埋め字が必要な場合に、RD環境定義にKEIS CODE SPACE LEVELオペランドを指定していない(または0を指定している)ときは、NCHAR列に対してX'4040'を定義長まで埋めます。そのため、NCHAR(4)に対して'A'を追加した場合は、列の空白をX'4040'で3文字分を埋めます。検索時、上記のデータはXDM/RD E2の文字コード変換により空白部も変換される(X'4040'→X'8140')ため、結果として'A△△△'(すべて全角)が返ります。再び'A△△△'(すべて全角)を条件に検索すると、シフトJIS→KEIS変換によって、X'8140'はX'A1A1'に変換されるため、データベース内にあるデータの空白(X'4040')とアンマッチとなって、更新できません。
上記の条件付き検索をヒットさせる場合は、XDM/RD E2のRD環境定義で、KEIS CODE SPACE LEVELオペランドに「2」を指定してください。このオペランドを指定すると、データベース内にあるデータの空白がX'4040'でも検索できるようになります(検索条件のデータの空白がX'A1A1'でもヒットする)。詳細はマニュアル「XDM E2系 XDM/RD E2 使用の手引」を参照してください。すでにデータベース内にX'A1A1'で埋め字がされているデータがある場合や、空白データとしてX'A1A1'とX'4040'が混在している場合は、データの変更や、表の再作成が必要となります。DBPARTNER2でデータを修正する場合、更新条件の解除機能を使用して変更してください。NCHAR属性の項目を更新条件から外すと、データを変更できるようになります。

#XDMRD