-229   THE LOCALE locale SPECIFIED IN A SET LC_CTYPE OR OTHER STATEMENT THAT IS LOCALE SENSITIVE WAS NOT FOUND

説明

ステートメントが、Db2® で認識できないかまたは使用できないロケールを参照しよ うとしました。変数 locale の値は、このステートメントを処理した ときに Db2 が使用していたロケールを示しています。Db2 は、SET CURRENT LOCALE LC_CTYPE ステート メントに指定されていたロケール、またはロケール・アクセスを試みたときに有効だったロケールを使用しました。

システムの処置

このステートメントは実行できません。

プログラマーの応答

ロケールが SET CURRENT LOCALE LC_CTYPE ステートメントに明示的に指定されていたか、または現行ロケールが暗黙のうちに使用されたかにより、以下のいずれかの処置を完了してください。
  • ステートメントが SET CURRENT LOCALE LC_CTYPE ステートメントである場合、正しい (Db2 が認識できて、 利用できる) ロケールを再指定してください。
  • ステートメントが SET CURRENT LOCALE LC_CTYPE 以外のものであった場合、 そのステートメントはロケール依存のインターフェースを含んでいます (UPPER 関数が ロケール依存のインターフェースの例です)。
次のステートメントを実行して、プログラムで使用されているロケールの値を判別してください。
SELECT CURRENT LOCALE LC_CTYPE FROM
SYSIBM.SYSDUMMY1.

このメッセージの理由として、インストール時に指定した間違ったロ ケールのデフォルト値を Db2 が使用した可能性があります。ロケールは、動的であるため、いつでも追加、作成、または削除できます。Db2 は、ロケールを使用するまで、その値の妥当性を検査しません。したがって、インストール時に無効なロケールを指定している可能性があります。

ロケールとその命名規則については 、z/OS XL C/C++ プログラミング・ガイドを参照してください。

SQLSTATE

42708