SQLColAttributeの呼び出し時 - ODBC Driver for Teradata

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

Product
ODBC Driver for Teradata
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/wxs1608578396899.ditamap
dita:ditavalPath
ja-JP/wxs1608578396899.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities
ANSIアプリケーション(UNICODEを定義せずにコンパイルされたもの)に対して、UNIX OS上のドライバ マネージャは、以下のような変換は行ないません。
  • SQLColAttribute呼び出しをODBC Driver for TeradataのSQLColAttribute呼び出しにする変換
  • 出力パラメータをUTF-8からアプリケーション コード ページに戻す変換

そのため、SQLColAttributeからの出力パラメータは、ドライバが使用する内部文字セットでANSIアプリケーションに返されます。内部文字セットがアプリケーション コード ページと異なる場合、アプリケーションは、SQLColAttributeから返されたデータを、予測されたものとは異なる文字セットで受信することになります。

このような状態は、ISO 8859-1を使用するANSIアプリケーションが非ASCIIメタデータ(デンマーク語の文字が含まれる列名など)を要求した際にセッション文字セットがUTF-8である場合などに、問題となります。アプリケーションは、返された列名をUTF-8で受け取ります。一般に、ANSIアプリケーションがUnicodeセッション文字セットを使用している場合、そのアプリケーションは、アプリケーション コード ページに関係なく、SQLColAttributeから返されるデータをUTF-8で受け取ることになります。

この問題を回避するためには、古いSQLColAttributes関数(末尾に's'が付きます)を使用してください。