ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

DBリンクキット:OSV→Express100系に移行時、DBリンクキットを使用する場合、データコード体系は、EBCDIC→SJISになると思いますが、検索順のチューニング(APの修正等)が必要になるのでしょうか?具体的には、IF文での大小比較での範囲指定等を使った場合においてEBCDICは、英字はコード順でいくと数字より小さいし、SJISだと、数字より大きいということになり、それによって帳票の出力順が変わったりすることを懸念しています

質問内容

OSV→Express100系に移行時、
DBリンクキットを使用する場合、データコード体系は、EBCDIC→SJISになると思いますが、検索順のチューニング(APの修正等)が必要になるのでしょうか?

具体的には、IF文での大小比較での範囲指定等を使った場合においてEBCDICは、英字はコード順でいくと数字より小さいし、SJISだと、数字より大きいということになり、それによって帳票の出力順が変わったりすることを懸念しています

回答内容

Express版のOracleではEBCDICがサポートされていないので、検索順は、SJISのコードでの順番となります。
従って、検索順のチューニングが必要です。
AP上のコーディングでデータをEBCDICに変換して、DB上のデータ型としてはRAW型(バイナリデータ型)を使用するような方法は考えられますが、DB検索時、16進データとしてしか見えないなど、あまり現実的ではないので、お勧めできません。

ORDER BY句によるソート処理、およびキー指定のREADに関しては、SJISコード順となります。
これを、どうしてもEBCDICのコード順にしたいというのであれば、例えば、WHERE句で条件を指定することにより、英字のものと数字のものを別々に2度に分けて検索するというような方法が考えられると思います。

WHERE句での比較条件に関しては、EBCDICとSJISでのコードの違いを考慮して、条件を変えなければならないと思います。
例えば、EBCDICで数字のものだけを検索するのに、
  項目名 > 'Z'
という条件を指定していたとすれば、
  項目名 >= '0' AND 項目名 <= '9'
  あるいは
  項目名 < 'A'
と変更する必要があります。

  • コンテンツID: 3150003285
  • 公開日: 1998年12月01日
  • 最終更新日:1998年12月01日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。