Unicode Pass Throughは、Unicodeエラー処理の強化機能です。この機能はユーザーに、パス スルー文字(PTC)をTeradataにインポートおよびTeradataからエクスポートする機能を提供します。PTCは、Teradataによってサポートされているすべての設定可能なUnicode文字(6.0 BMP文字を除く)のセットおよび文字以外のセットです。PTCは、次のものを含みます。
- Teradataによってサポートされていない文字:
- Unicodeバージョン6.1.0から9.0.0のBMPの文字
- すべてのUnicodeバージョンのSMPの文字
- 割り当てられていない文字
- 私的な使用文字
この機能はセッション レベルで有効または無効になっており、Unicodeセッションに対してのみ有効です。Unicode Pass Through機能を有効にしたUTF8またはUTF16のセッションでは、PTCをクエリーで使用、およびUnicode列に格納またはUnicode列から取得できます。文字以外と無効なエンコーディング形式の文字は、REPLACEMENT CHARACTER (U+FFFD)に変更し、この機能を使用してパス スルーし、Teradataに格納することができます。
デフォルトでは、この機能は有効になっていません。機能が有効になっていないセッションでは、Teradataにサポートされていない6.0 BMP Unicodeコード ポイントを入力しようとすると、エラーになり、クエリーが失敗します。
利点
- 61Kから1,112Kへと、Unicodeユーザーが利用可能な文字のレパートリーが増加します。これには、以前はTeradataで保存できなかった絵文字やその他の表意文字が含まれます。
- 変換エラーのためにユーザーがUnicodeデータをTeradataに送信する前にクレンジングする必要があるケースを軽減または削除します。
- クライアント ロード フィルタリングは簡単なため、ロード パフォーマンスが向上します。
- 置換文字を使用してもデータは失われません。
- 他のデータベースを含む他のデータ ソースによって提供されるUnicodeに対応できるようにTeradata Unicodeサポートを強化します。
考慮事項
- この機能はUnicodeにのみ適用されます。つまり、UTF8およびUTF16セッションと、UNICODEサーバー文字セットです。例えば、0x1A置換文字をUnicode列に設定されたASCII文字セットからインポートすると、Unicode Pass Through機能で有効になっているセッションでも拒否されます。
- この機能では、PTCの格納および取得ができますが、Teradataではこれらの文字に対する完全なサポートは利用できません。例えば、照合、大文字と小文字、およびオブジェクト名のサポートは、この機能には含まれません。
- PTCは、インデックスに含まれる列内に格納しないでください。
- FastloadおよびMultiloadなどのスタンドアロンのユーティリティでは、この機能はサポートされていません。PTCを含むデータをロードまたはアンロードするには、Teradata Parallel Transporterを使用します。
- PTCがTeradataに格納されると、削除が難しくなる場合があります。削除または置換する必要があります。
- この機能を有効にすると、サポートされていない文字またはREPLACEMENT CHARACTER (U+FFFD)の画面出力をTeradataに依存しているユーザーが、Teradataに依存しなくてすむようになります。
- この機能を使用すると、以前はサポートされていなかった文字をTeradataでサポートすることができます。したがって、この機能が有効になっているTeradataシステム上のデータは、以前のリリースで実行されているTeradataシステムに転送できません。
SQLの変更
SET SESSION CHARACTER SET UNICODE PASS THROUGH [ON|OFF]
追加情報
Unicode Pass Throughの詳細については、次を参照してください。
- Teradata Vantage™ NewSQLエンジンの国際文字セット サポート、B035-1125
- Teradata Vantage™ SQLデータ定義言語-構文規則および例、B035-1144