17.10 - MacroCharSet - Parallel Transporter

Teradata® Parallel Transporterリファレンス

Product
Parallel Transporter
Release Number
17.10
Release Date
2021年10月
Content Type
プログラミング リファレンス
Publication ID
B035-2436-061K-JPN
Language
日本語 (日本)

MacroCharSetオプションは、Streamオペレータにのみ適用されます。

MacroCharSetオプションは、スキーマの文字フィールドにおけるサーバー記憶装置の文字セット名を指定します。 Streamオペレータはサーバー記憶装置の文字セット名を使用して、マクロ作成時に各文字フィールドのCHARACTER SET句を生成します。 Streamオペレータは、ジョブに指定されているDML文ごとにマクロを作成します。 適切なサーバー記憶装置の文字セットは、文字セット コード変換エラーを回避するために必要です。

サーバー記憶装置の文字セット名を定義する方法には以下の2つがあります。
  • DEFINE SCHEMA文で文字の列を宣言した後に、フィールド レベルのMACROCHARSET (<field-server-character-set>)句を指定します。

    フィールド レベルのMACROCHARSET (<field-server-character-set>)句が、スキーマの特定の文字フィールドで指定されている場合、このフィールド サーバー文字セットはその特定の文字フィールドで使用されます。

  • DEFINE SCHEMA文で、グローバル レベルのDEFAULT MACROCHARSET (<global-server-character-set>)句を指定します。

    グローバル レベルのDEFAULT MACROCHARSET (<global-server-character-set>)句が指定されている場合、スキーマにフィールド レベルのMACROCHARSET句が指定されていない各文字フィールドで、このグローバルなサーバー文字セットが使用されます。

    グローバル レベルのDEFAULT MACROCHARSET (<global-server-character-set>)句が指定されていない場合、スキーマにフィールド レベルのMACROCHARSET句が指定されていない各文字フィールドのサーバー記憶装置の文字セットは、クライアント セッション文字セットに応じてLATINまたはUNICODEになります。

    クライアントのセッション文字セット名が以下の場合、LATINになります。

    • ASCII
    • EBCDIC
    • _0Aまたは_0Eで終端
    • _zxで終端。"z"は0(数字のゼロ)以外
    • _zxまたは_zxxで終端していない。KATAKANAEBCDIC、UTF-8、またはUTF-16以外

      その他のすべてのクライアントのセッション文字セットの場合、UNICODEになります。

異なるサーバー記憶装置の文字セットが設定された文字の列をロードする場合、フィールド レベルのMACROCHARSET (<field-server-character-set>)句を使用することを推奨します。 例えば、次のテーブル定義では、日本語クライアントのセッション文字セットを使用してターゲット テーブルにデータをロードします。EMP_ID INTEGER, EMP_NAME VARCHAR(40) CHARACTER SET UNICODE, EMP_SEX CHAR(1) CHARACTER SET LATIN.

フィールド レベルのMACROCHARSET句の指定方法

DEFINE SCHEMA EMP_SCHEMA
 (
   EMP_ID   INTEGER,
   EMP_NAME VARCHAR(40) MACROCHARSET (UNICODE),
   EMP_SEX  CHAR(1) MACROCHARSET (LATIN)
);
以下を指定すると、ジョブはエラーで終了します。
  • 文字ではない列でのフィールド レベルのMACROCHARSET (<field-server-character-set>)句。
  • 無効なサーバー記憶装置の文字セット。 ジョブは、"RDBMS error 3706: Syntax error: Expected Character Data Type"(RDBMSエラー3706: 構文エラー: 文字データ型を指定してください)で終了します。

サーバー記憶装置の文字セット名については、Teradata Vantage™ - Advanced SQL Engine国際文字セット サポート, B035-1125を参照してください。