SQLSetStmtAttr()に設定されるステートメント オプション - ODBC Driver for Teradata

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

Product
ODBC Driver for Teradata
Release Number
17.20
Published
2022年6月
Language
日本語
Last Update
2022-08-22
dita:mapPath
ja-JP/uqj1639470627591.ditamap
dita:ditavalPath
ja-JP/nkw1500504256726.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

次の表は、SQLSetStmtAttr()のステートメント オプションの一覧です。

ステートメント サポート
SQL_ATTR_ASYNC_ENABLE サポートされている
SQL_ATTR_METADATA_ID サポートされている
SQL_ATTR_REDRIVE サポートされている。

セッションに対してRedriveがオンになっている場合、特定のステートメントに対してRedriveをオフにすることができます。Redriveがセッション レベルでオフになっている場合、ステートメントに対してRedriveをオンにすることはできません。

SQL_ATTR_REDRIVE (13014)文属性は、

SQL_REDRIVE_OFF (0)とSQL_REDRIVE_ON (1)の値を取ることができます。

SQL_BIND_TYPE SQL_BIND_BY_COLUMNのみがサポートされます。
SQL_CONCURRENCY SQL CONCUR_READ_ONLYのみがサポートされます。
SQL_ATTR_CONNECTION_POOLING SQL_CP_PER_DRIVER、SQL_CP_ONE_PER_HENV、およびSQL_CP_OFFがサポートされます。
SQL_CURSOR_TYPE SQL_CURSOR_FORWARD_ONLYのみがサポートされます。
SQL_KEYSET_SIZE SQL_KEYSET_SIZE=0のみがサポートされます。
SQL_MAX_LENGTH サポートされていない
SQL_MAX_ROWS サポートされている

SQL_MAX_ROWSは、返される結果値を、ユーザーが指定した値に制限します。これはSELECT文ごとに適用され、Teradataがスプール制御に使用しているメカニズムのため、複文要求の場合はネットワーク トラフィックの削減には役立ちません。

複数のステートメントから成る要求の場合は、現行の結果セットから次の結果セットまでスクロールしなければならないため、ネットワーク トラフィックは回避できません。

単一の文から成るリクエストや、複数の文から成るリクエストの最後の文では、リクエストを取り消すことによってネットワーク トラフィックが減少します。

ネットワーク トラフィックを減少させるためには、必要なデータの結果行だけを取り出します。単文要求または複文要求にある最終文の要求からの結果すべてが必要ではない場合には、SQLFreeSTMT(SQL_CLOSE)を呼び出し、保留中のすべて結果を廃棄します。

SQL_NOSCAN サポートされている

SQL_NOSCANの実装は、ODBC定義とは若干異なっています。デフォルトでは、要求は走査(解析)され、ODBC SQL構文はTeradata SQL構文に変換されます。

アプリケーションがSQLSetStmtOption(hstmt、SQL_NOSCAN、SQL_NOSCAN_ON)を呼び出した場合は、ODBC Driver for TeradataはSQLリクエストを構文解析しません。ODBC SDKには、SQL_NOSCAN_ONが設定されているとODBCのエスケープ句だけが走査されないことが示されています。

Teradataに固有のSQLだけを生成するカスタムODBCアプリケーションでは、SQL_NOSCAN_ONを設定してSQL要求を構文解析せず、パフォーマンスを向上させます。

SQL_QUERY_TIMEOUT サポートされている
SQL_RETRIEVE_DATA SQL_RD_ONのみがサポートされます。
SQL_ROWSET_SIZE SQL_ROWSET_SIZE=1のみがサポートされます。
SQL_SIMULATE_CURSOR SQL_SC_NON_UNIQUEのみがサポートされます。
SQL_USE_BOOKMARKS サポートされていない