MacroCharSet - Parallel Transporter

Teradata® Parallel Transporter リファレンス

Product
Parallel Transporter
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2019-02-12
dita:mapPath
ja-JP/whl1527114222314.ditamap
dita:ditavalPath
ja-JP/whl1527114222314.ditaval
dita:id
B035-2436
Product Category
Teradata Tools and Utilities

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 Databaseの<International Character Set Support>を参照してください。