ODBC API - 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

このセクションでは、このリリースでサポートされているODBC API関数を一覧表示します。

コア レベル関数

次の表に示すすべてのODBC 3.8のコア レベル関数がサポートされています。各関数の後には、ODBC Driver for Teradataに存在する制約、制限または強化機能を示しています。

関数名 目的
SQLAllocHandle 環境、接続、ステートメント、記述子のハンドルを割り当てます。
SQLCloseCursor ステートメントでオープンされていたカーソルをクローズし、保留中の結果を破棄します。
SQLColAttribute 結果セット内の列の属性を記述します。列0のブックマーク メタデータの取得はサポートされていません

デフォルトでは、SQLDescribeColおよびSQLColAttributeは、Teradataの列タイトルの代わりに列名を返します。アプリケーションで、ドライバが実際の列名ではなくタイトルを返すようにする場合は、ODBC Driver for Teradataオプション ダイアログのUseColumnNamesオプションを、使用しているDSNに対して選択解除するか、またはUNIX OSのodbc.iniファイルのDontUseTitlesオプションをNoに設定する必要があります。

実際の列名の代わりに列タイトルを返すと、Crystal Reportsなどの一部のアプリケーションで問題が発生することがあります。これは、そのアプリケーションが、列タイトルではなく列名が返されることを想定しているためです。

SQLConnect データ ソース名、ユーザーID、およびパスワードで特定のドライバに接続します。
SQLCopyDesc 記述子情報を記述子ハンドル間でコピーします。
SQLEndTran Completion typeパラメータに従って、接続に関連するすべてのステートメントでの全アクティブ操作に対し、コミットまたはロールバック操作を要求します。

SQLEndTranでは、環境に関連するすべての接続に対して、コミットまたはロールバック操作の実行を要求することもできます。

SQLExtendedFetch 結果セットから指定された行データ セットを取り出し、バインドされているすべての列のデータを返します。対象の行セットは、このAPIのパラメータにより絶対位置または相対位置で、あるいは、ブックマークで指定できます。

ODBC Driver for Teradataは、SQL_FETCH_NEXTの方向のみをサポートし、ブックマークはサポートしません。

SQLFetchScroll 結果セットから指定された行データ セットを取り出し、バインドされているすべての列のデータを返します。このAPIのパラメータはPositionとOrientationですが、03.00.00バージョン以降のドライバではSQL_FETCH_NEXTのみがサポートされます。また、このドライバでは、読み取り専用と前方専用のカーソルのみがサポートされます。

SQLFetchScrollは、結果セットが存在する間、つまり結果セット作成の呼び出し後から、結果セット上のカーソルがクローズされるまでの間に限って呼び出すことができます。

列がバインドされていれば、SQLFetchScrollは、それらのデータを返します。アプリケーションが行ステータス配列または取り出された行数を返すバッファへのポインタを指定した場合、SQLFetchScrollはその情報も返します。

SQLFreeHandle 環境、接続、ステートメント、記述子のハンドルを解放します。これは、SQLFreeEnv、SQLFreeConnect、SQLFreeStmtに取って代わるものです。
SQLGetConnectAttr 接続属性の現在の設定を返します。

ODBC Driver for Teradataは、セッション文字セット、論理ホストID、セッション番号情報を取得するためのドライバ固有の接続属性をアプリケーションに提供します。この機能をサポートするために、ODBC Driver for Teradata定義の以下の属性が提供されています。

  • SQL_ATTR_TDATA_HOST_ID(13001) - ホストIDは符号無し整数として返されます。
  • SQL_ATTR_TDATA_SESSION_NUMBER(13002) - セッション番号は符号無し整数として返されます。
  • SQL_ATTR_TDATA_SESSION_CHARSET(13003) - セッション文字セットは文字列として取得されます。
  • SQL_ATTR_AGKR(13004) - 識別列に挿入する結果リクエスト(INSERT、INSERT ... SELECT、UPSERT、MERGE-INTO)を指定する整数値です。

2.xアプリケーションでのSQLGetConnectOption、または3.xアプリケーションでのSQLGetConnectAttrは、特定の接続がアクティブかどうかをテストします。このオプションは、SQL_ATTR_CONNECTION_DEAD属性も受け付けます。これは、ODBC 3.51の属性です。

SQLGetDescField 記述子レコードの1つのフィールドの現在の設定(値)を返します。
SQLGetDescRec 名前、データ型、記憶域を記述している記述子レコードの複数フィールドの現在の設定(値)を返します。
SQLGetDiagField ハンドルと関連付けられている診断レコードのフィールドの現在の値を返します。
SQLGetDiagRec SQLSTATE、ネイティブ エラー コード、診断メッセージ テキストなど、ハンドルに関連する診断レコードの現在の値を返します。

SQLGetDiagRecは、ODBC 3.x以降でSQLErrorに代わる関数です。

SQLError()は、より具体的なSQLSTATEではなく、S1000(一般エラー)のSQLSTATEを返すことがあります。NativeErrorには正確なTeradataエラー コードが入っていて、ErrorMessageにはTeradataのエラー メッセージが入っています。NativeErrorに-1が入っている場合は、そのエラーがODBC Driver for Teradataで検出されたことを表わしています。

SQLGetEnvAttr 環境属性の現在の設定を返します。
SQLGetStmtAttr 文属性の現在の設定を返します。サポートされる属性のリストは、DSNトレース属性に示されています。
SQLSetConnectAttr 接続属性を指定の値に設定します。
SQLSetDescField 記述子レコードの1つのフィールドの値を設定します。
SQLSetDescRec 名前、データ型、記憶域を記述している記述子レコードの複数フィールドの値を設定します。
SQLSetEnvAttr 環境属性を、指定されている値に設定します。
SQLSetStmtAttr 文属性を、指定されている値に設定します。