SQL列の属性 - 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

SQLColAttributeは、いくつかのTeradata ODBCドライバ定義列の属性を、FieldIdentifier引数としてサポートします。さらに、SQL_COLUMN_NAMEを使用することによって、名前ではなく、TeradataのTITLE(存在する場合)を返すように拡張されました。これによって、大半のレポート ライターで認識できるようになるからです。

ドライバ定義の属性値を取得するためにSQLColAttributeを使用するときには、その属性のタイプをBufferLength引数で指定する必要があります。また、SQLColAttributeは、タイプに応じて2つのポインタのいずれかを使用して値を返します。INTEGER型の情報は、SQLLEN値として*NumericAttributePtrで返されます。それ以外の形式の情報は、*CharacterAttributePtrで返されます。特定の属性では使用されていないポインタは、呼び出し内でNULLに設定する必要があります。例えば、SQL_DESC_TD_ODBC_TYPE属性の値は、次のように取得します。

rc = SQLColAttribute(hstmt, colno, SQL_DESC_TD_ODBC_TYPE, NULL, SQL_IS_SMALLINT, NULL, &NumAttrPtr);

次のリストでは、Teradata ODBCで定義された属性ごとに使用されるポインタを示します。

ドライバ定義のFieldIdentifier値は、次のとおりです。

  • SQL_COLUMN_ACTIVITY_TYPEは、実行するSQL文の種類を指定する整数です。値は、NumericAttributePtrで返されます。
  • SQL_COLUMN_COST_ESTIMATEは、SQL文を実行するためのコスト見積もりを備えた整数です。返される値は、時間の見積もりを秒単位で表します。値は、NumericAttributePtrで返されます。
  • SQL_COLUMN_FORMATは、列に対応するTeradataのFORMAT句を返します。値は、CharacterAttributePtrで返されます。
  • SQL_COLUMN_ACTUAL_NAMEは、結果列に対応する名前を返します。SQL_COLUMN_NAMEの意味が変わったので、このFieldIdentifier値は必要です。値は、CharacterAttributePtrで返されます。
  • SQL_COLUMN_CHARACTER_SETは、列の文字セットを含む整数です。値は、NumericAttributePtrで返されます。
  • SQL_COLUMN_EXPORT_WIDTHは、文字の列のデータベース エクスポート幅を含む整数です。値は、NumericAttributePtrで返されます。
  • SQL_COLUMN_EXPORT_WIDTH_ADJは、文字の列のデータベース エクスポート幅調整を含む整数です。値は、NumericAttributePtrで返されます。
  • SQL_COLUMN_EXPORT_BYTESは、文字の列に対してデータベースで利用できるバイト数を含む整数です。値は、NumericAttributePtrで返されます。
  • SQL_DESC_TD_ODBC_TYPEは、Teradata ODBC固有のSQLデータ型コードを含むSQLSMALLINTです。同じ標準ODBC SQL型に複数の種類のデータベース型が含まれている場合は、Teradata ODBC固有のSQLデータ型コードを使用してデータベースの種類を識別できます。値は、NumericAttributePtrで返されます。

これらの属性の詳細については、SQL記述子フィールドを参照してください。