変更内容
Symfoware Serverの動作環境と文字コード系について、以下の変更があります。
変更内容 | バージョンレベル | |||
---|---|---|---|---|
V5.0L10 | V6.0L10 | V7.0L10 | 8.0.0以降 | |
動作環境 | 利用者は、EUC環境にしてインストールします。 | Symfoware Serverは、OSのデフォルトロケールを見て、そのロケールに合った動作環境をインストールします。 | ||
データベースの文字コード系の指定方法 | RDBディクショナリ作成(rdbcrdicコマンド)時に指定します。 | Symfoware Serverをインストールするときにロケールに合わせて自動選択されます(推奨)。V6.0L10以前の互換保証から、V6.0L10以前で組合せ可能な範囲で別の文字コード系を指定することができます。 | ||
データベースの文字コード系に指定できる文字コード系 |
|
|
| |
EUCコードのデフォルト値 | EUCコードのU90コードを使用しています。 | EUCコードのS90コードを使用しています。 | ||
rdbprtコマンド(-m CODEオプション指定時)の表示項目とその意味 |
|
|
RDBコマンドのロケールの設定方法が、以下のように変更になりました。
変更内容 | バージョンレベル | ||
---|---|---|---|
V5.0L10 | V6.0L10 | V7.0L10以降 | |
RDBコマンドのロケールの設定方法 | ja_JP.eucJPに設定します。 | Symfoware/RDBのロケール(OSのデフォルトロケール)に合わせます。 | Symfoware/RDBのロケール(OSのデフォルトロケール)に合わせるか、UNIX系標準のCロケールにする必要があります。 |
Symfoware/RDBのロケールと違う場合の動作 | 動作保証しません。 | qdg13949uのエラーとなります。 | qdg13959uのエラーとなります。 |
ロードデータやアンロードデータで指定する外部ファイルの文字コード系は利用者が明に指定できます。指定できる文字コード系が以下のように変更になりました。
変更内容 | バージョンレベル | |
---|---|---|
V6.0L10以前 | V7.0L10以降 | |
指定できる文字コード系 |
|
|
COBOL言語以外のアプリケーションでは、ホスト変数やSQLメッセージ(SQLMSG)で使用する文字コード系を指定できます。この指定は、クライアント用の動作環境ファイルの以下のパラメタで指定できます。
CHAR_SET
NCHAR_CODE
これらのパラメタで指定できる文字コード系が以下のように変更になりました。
変更内容 | バージョンレベル | |
---|---|---|
V6.0L10以前 | V7.0L10以降 | |
CHAR_SETで指定できる文字コード系 |
|
|
NCHAR_CODEで指定できる文字コード系 |
|
|
マルチRDBシステムの文字コード系において、以下の変更点があります。
変更内容 | バージョンレベル | |
---|---|---|
V6.0L10以前 | V7.0L10以降 | |
マルチRDBシステムで指定できるデータベースの文字コード系の種類 | 複数の文字コード系を選択できます。 | 複数の文字コード系を選択できません。 |
非互換
V6.0L10以降では、Symfoware/RDBのロケールとRDBコマンドのロケールは、OSのデフォルトロケールと一致させる必要があります。
EUCコードのデフォルト値が、U90からS90に変更になりました。
EUCコードは、S90かU90かの詳細が表示されるようになりました。
Symfoware/RDBのロケールとRDBコマンドのロケールが、OSのデフォルトロケールと一致していない場合に、出力されるエラーが以下のように変更になりました。
qdg13949u パッケージインストール時の文字コードと環境変数で指定した文字コードが異なっています s* [メッセージの意味] パッケージインストール時の文字コードと環境変数('LANG'または'LC_MESSAGES'または'LC_ALL')で指定した文字コードが異なっています。 [パラメタの意味] s*: RDBシステム名 RDBシステム名はマルチRDBの場合のみ出力されます。 [システムの処理] 処理を中止します。 [利用者の処置] 環境変数を正しく指定し、再実行してください。
qdg13959u 環境変数で指定したロケール's*'に誤りがあります Symfoware/RDBのロケール='t*' u* [メッセージの意味] 環境変数で指定したロケールに誤りがあります。環境変数は“LC_ALL”、“LC_MESSAGES”、“LANG”の順番で有効となります。 [パラメタの意味] s*: 環境変数のロケール t*: Symfoware/RDBのロケール u*: RDBシステム名 RDBシステム名はマルチRDBの場合のみ出力されます。 [システムの処理] 処理を中止します。 [利用者の処置] 環境変数を正しく指定して再実行してください。
V6.0L10以前は、マルチRDBシステムで複数の文字コード系を選択することができましたが、V7.0L10以降ではSymfoware Serverのインストール時に選択された文字コード系のみ利用可能です。
初期インストール時に指定する、データベースの文字コード系の値の中でEUC_U90が指定不可となりました。
対処方法
回避方法はありません。
データベースの文字コード系にEUCコードのU90コードを指定したい場合は、symfo_installコマンドを利用したアップグレードインストール時に指定してください。
rdbprtコマンドを実行するとき、Zオプションを指定してV6.0L10以前の出力形式で出力してください。
回避方法はありません。メッセージ本文を読み替えてください。
RDBディクショナリ作成コマンド(rdbcrdic)により、インストールした文字コード系以外の文字コードを選択してください(rdbcrdicコマンドの文字コード系の指定は互換として存在します)。
RDBディクショナリを、60メガバイトの容量で、ローデバイス/dev_symfoware/raw5に作成する場合の例を以下に示します。
UNICODEを使用する場合
$ rdbcrdic -r /dev_symfoware/raw5 -a 60M -U
シフトJISコードを使用する場合
$ rdbcrdic -r /dev_symfoware/raw5 -a 60M -S
回避方法はありません。