ページの先頭行へ戻る
Symfoware Server V11.0.0 アップデート情報
Symfoware

2.39 各国語文字列型への半角カタカナ格納のエラー通知

変更内容

8.0.1以前

rdbsloaderコマンド、rdbsaloaderコマンドおよびrdbsuloaderコマンドでテキスト形式の入力ファイルを指定した場合、データベースの文字コード系がEUCコードまたはシフトJISコードであるにもかかわらず、各国語文字列型の列に半角カタカナを格納していました(P番号PG49764により修正されており、これを含む緊急修正を適用していない場合に該当します)。

9.0.0以降

rdbsloaderコマンド、rdbsaloaderコマンドおよびrdbsuloaderコマンドでテキスト形式の入力ファイルを指定した場合、データベースの文字コード系がEUCコードまたはシフトJISコードで、各国語文字列型の列に半角カタカナを格納しようとした場合にエラー通知します。

非互換

各国語文字列型の列に半角カタカナを格納しようとした場合に、従来正常終了していたものがエラー通知されるようになります。

対処方法

本機能を無効にする場合はRDB構成パラメタファイルのRDBNCHARKANAにNONを指定し、Symfoware/RDBを再起動してください。

NONを指定すると、半角カタカナのデータを格納することはできますが、格納したデータを正しく取り出すことができない場合があります。その場合にエラー通知するには、NORMALを指定してください。NORMALを指定した場合にエラーとなるか否かの詳細は、“表2.12 エラー通知の対象となるバージョンレベル、条件およびコマンドと、RDBNCHARKANA=NORMAL指定時の動作”を参照してください。

注意

本機能は、誤って各国語文字列型の列に半角カタカナを格納しようとしたときにエラー通知できていなかったものをエラー通知するように修正するものです。したがって、本機能を有効にして運用することを推奨します。

RDBNCHARKANA

データベースの文字コード系がEUCコードまたはシフトJISコードの場合に、rdbsloaderコマンド、rdbsaloaderコマンドおよびrdbsuloaderコマンドで各国語文字列型の列に半角カタカナを格納する際にエラー通知するか否かを指定します。

記述形式は以下のとおりです。

RDBNCHARKANA = 半角カタカナ格納のエラー通知の有無
半角カタカナ格納のエラー通知の有無

各国語文字列型の列に半角カタカナを格納する際にエラー通知するか否かを指定します。省略した場合はERRORが指定されたものとみなします。

本指定は、データベースの文字コード系がEUCコードまたはシフトJISコードの場合に有効となります。

ERROR :

各国語文字列型の列への半角カタカナの格納をすべてエラー通知します。

NORMAL :

各国語文字列型の列への半角カタカナの格納時にデータ破損が発生する場合のみエラー通知します。

NON :

各国語文字列型の列への半角カタカナの格納をエラーとしません。

エラー通知の対象となるバージョンレベル、条件およびコマンドと、RDBNCHARKANA=NORMAL指定時の動作を以下に示します。

なお、以下の表では、各国語文字列型の列への半角カタカナ格納時に、データ破損が発生する可能性のある組合せのみを示しています。

表記していない組合せはすべてエラー通知されます。

表2.12 エラー通知の対象となるバージョンレベル、条件およびコマンドと、RDBNCHARKANA=NORMAL指定時の動作

Symfoware/RDBのロケール

バージョンレベル
エディション

コード系の組合せ

コマンド

RDBNCHARKANAの指定

データベース

入力データ

省略またはERROR

NORMAL

NON

ja_JP.eucJP

8.0.1以前
EEE/EE/SE

シフトJISコード

シフトJISコード

rdbsloader
rdbsaloader
rdbsuloader

エラー通知する

エラー通知する

エラー通知しない

EUCコード

EUCコード

rdbsloader
rdbsaloader
rdbsuloader

6.0.1~8.0.1
EEE/EE/SE

シフトJISコード

UNICODE

rdbsloader
rdbsaloader
rdbsuloader

エラー通知しない

ja_JP.UTF-8

6.0.1~8.0.1
EEE/EE/SE

シフトJISコード

シフトJISコード

rdbsloader
rdbsaloader
rdbsuloader

エラー通知する

シフトJISコード

UNICODE

rdbsloader
rdbsaloader
rdbsuloader

エラー通知しない

8.0.x
EEE/EE/SE

EUCコード

EUCコード

rdbsloader(注)
rdbsaloader
rdbsuloader

エラー通知する

注) rdbsloaderコマンドが以下の条件を満たさない場合に該当します。

  1. 表のDSIの格納構造がSEQUENTIAL構造である。かつ、

  2. 以下の条件を満たす場合。

    1. 表にXML構造のインデックスが付加されている。または、

    2. 表のレコード長が以下の条件を満たす場合。

      1. ページ内格納域長を超えている。または、

      2. 過去に表の定義変更文による列定義の削除を行っており、列定義の削除前にはレコード長がページ内格納域長を超えていた。

    参照

    レコード長およびページ内格納域長の見積りについては、以下を参照してください。

    • Symfoware Server 6.0.1以前の場合 : “RDBユーザーズガイド データベース定義編”の“データベーススペースの所要量の見積り”

    • Symfoware Server 7.0以降の場合: “RDB運用ガイド(データベース定義編)”の“データベーススペースの所要量の見積り”