UTF8パス スルー機能 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

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

Windows上の既存のUnicodeアプリケーションは、UnicodeのUTF8エンコーディングを使用することによって、ODBC ANSI関数呼び出しでUnicodeデータをDatabaseに渡すことができるようにしてある場合があります。そのようなアプリケーションは、UTF8セッション文字セットを使用します。上記アプリケーションでは、Unicodeドライバに関して以下の問題が発生します。

  • ANSI API経由でLatinまたはKanjiのオブジェクト名を渡すと、文字列に無効な文字が含まれるため、ドライバ マネージャがアプリケーション コード ページを使用してUTF-16にコード変換できず失敗します。例えば、日本語版のPCで動作している場合、ドライバ マネージャはSJISと仮定して文字をUTF8にコード変換します。
  • SQLリクエストを、例えば、 "INTO T values ..."のようにLatinまたはKanjiで渡すと、ドライバ マネージャがアプリケーション コード ページを使用してUTF16にコード変換できないため失敗します。
  • SQL_C_CHAR文字データ型の場合、新リリースのドライバは、データのアプリケーション コード ページとUTF-8セッション文字セットとをコード変換します。非ASCII文字の場合は失敗します。

したがって、SQL_C_CHARデータにバインドしてUTF8データを渡したり取得したりすることはできません。