ODBC 関数のサポート状況

各関数には独自の ODBC 3.0 規格適合レベル、および Db2 ODBC サポート・レベルがあり、特定の関数は推奨されません。

次の各表は、特定のタスクをサポートする関数のリストを提供します。 表は、各機能における Db2 ODBC サポートおよびMicrosoft ODBC 3.0 適合レベルを示しています。

表には、列ごとに次の値が含まれます。

ODBC 3.0 のレベル
この列の値には、以下の意味があります。
いいえ
この関数は ODBC 3.0 ではサポートされていないことを示しています。
非推奨
この関数はサポートされていますが、ODBC 3.0 では「使用すべきでない」ことを示しています。
コア
この関数は、ODBC 3.0 コア準拠レベルの一部であることを示しています。
レベル 1
この関数は、ODBC 3.0 レベル 1 準拠の一部であることを示しています。
レベル 2
この関数は、ODBC 3.0 レベル 2 準拠の一部であることを示しています。
Db2 ODBC サポート
この列の値には、以下の意味があります。
いいえ
関数が Db2 ODBC によってサポートされていないことを示します。
非推奨
関数がサポートされているけれども、Db2 ODBC では「使用すべきでない」ことを示します。
現在
関数が Db2 ODBC で現行であることを示します。 現行の関数は Db2 ODBC でサポートされており、別の Db2 ODBC 関数で非推奨ではありません。

データ・ソースへの接続

表 1. データ・ソースへの接続のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLAllocConnect() 非推奨 非推奨 接続ハンドルを獲得します。
SQLAllocEnv() 非推奨 非推奨 環境ハンドルを取得します。 1 つ以上の接続に 1 つの環境ハンドルが使用されます。
SQLAllocHandle() コア 現在 ハンドルを取得します。
SQLBrowseConnect() レベル 1 いいえ 接続属性および有効な属性値の連続レベルを戻します。 それぞれの接続属性ごとに値が指定されている場合、 この関数はデータ・ソースに接続します。
SQLConnect() コア 現在 データ・ソース名、ユーザー ID、およびパスワードによって特定のドライバーに接続します。
SQLDriverConnect() コア 現在

接続ストリングで特定のドライバーに接続します。

IBM® 特定: この機能は、 CLI 環境の ファイルでサポートされている追加の キーワードにも拡張されています。 Db2 for Linux®, UNIX, and Windows ODBC.INI IBM Db2 for z/OS® ODBC の環境では、 ODBC.INI ファイルに相当するものはありません。

SQLSetConnection() いいえ 現在 接続ストリングで特定のデータ・ソースに接続します。

ドライバーおよびデータ・ソースに関する情報の獲得

表 2. ドライバーおよびデータ・ソースに関する情報の入手のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC での状況 目的
SQLDataSources() コア 現在 使用できるデータ・ソースのリストを返します。
SQLDrivers() コア いいえ インストールされたドライバーおよびその属性のリストを戻します (ODBC 2.0)。 この機能は、 ODBC ドライバマネージャ内で実装されているため、 Db2 for z/OS ODBC 環境では適用できません。
SQLGetFunctions() コア 現在 サポートされるドライバー関数を戻します。
SQLGetInfo() コア 現在 特定のドライバーおよびデータ・ソースに関する情報を返します。
SQLGetTypeInfo() コア 現在 サポートされているデータ・タイプに関する情報を返します。

ドライバー属性の設定と取り出し

表 3. ドライバー属性の設定と取り出しのための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLGetConnectAttr() コア 現在 接続属性の値を戻します。
SQLGetConnectOption() 非推奨 非推奨 接続属性の値を戻します。
SQLGetEnvAttr() コア 現在 環境属性の値を戻します。
SQLGetStmtAttr() コア 現在 ステートメント属性の値を返します。
SQLGetStmtOption() 非推奨 非推奨 ステートメント属性の値を返します。
SQLSetConnectAttr() コア 現在 接続属性を設定します。
SQLSetConnectOption() 非推奨 非推奨 接続属性を設定します。
SQLSetEnvAttr() コア 現在 環境属性を設定します。
SQLSetStmtAttr() コア 現在 ステートメント属性を設定します。
SQLSetStmtOption() 非推奨 非推奨 ステートメント属性を設定します。

記述子フィールドの設定と取り出し

表 4. 記述子フィールドの設定と取り出しのための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLCopyDesc() コア いいえ 記述子フィールドをコピーします。
SQLGetDescField() コア いいえ 単一記述子フィールドの値または現行設定値を戻します。
SQLGetDescRec() コア いいえ 複数記述子フィールドの値または現行設定値を戻します。
SQLSetDescField() コア いいえ 単一記述子フィールドの値または設定値を設定します。
SQLSetDescRec() コア いいえ 複数記述子フィールドの値または設定値を設定します。

SQL 要求の準備

表 5. SQL 要求の準備のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLAllocStmt() 非推奨 非推奨 ステートメント・ハンドルを割り振ります。
SQLBindFileToParam() いいえ 現在 SQL ステートメント内のパラメーター・マーカーをファイル参照またはファイル参照の配列に関連付けます。
SQLBindParameter() コア 現在 SQL ステートメントのパラメーター用のストレージを割り当てます (ODBC 2.0)。
SQLGetCursorName() コア 現在 ステートメント・ハンドルに関連したカーソル名を戻します。
SQLParamOptions() 非推奨 現在 パラメーター用の複数の値の使用を指定します。 ODBC 3.0 では、SQLSetStmtAttr() がこの関数を置き換えます。
SQLPrepare() コア 現在 後続の実行のために SQL ステートメントを準備します。
SQLSetCursorName() コア 現在 カーソル名を指定します。
SQLSetParam() 非推奨 非推奨 SQL ステートメントのパラメーター用のストレージを割り当てます (ODBC 2.0)。 ODBC 3.0 では、SQLBindParameter() がこの関数を置き換えます。
SQLSetScrollOptions() 非推奨 いいえ カーソルの動作を制御する属性を設定します。 ODBC 3.0 では、SQLGetInfo() および SQLSetStmtAttr() が、この関数を置き換えます。

要求のサブミット

表 6. 要求のサブミットのための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLDescribeParam() 1 コア 現在 ステートメント内の特定の入力パラメーターに関する説明を戻します。
SQLExecDirect() コア 現在 ステートメントを実行します。
SQLExecute() コア 現在 準備済みステートメントを実行します。
SQLNativeSql() コア 現在 ドライバーによって変換された SQL ステートメントのテキストを返します。
SQLNumParams() コア 現在 ステートメント内のパラメーターの数を返します。
SQLParamData() コア 現在 SQLPutData() と一緒に使用します。 実行時にパラメーター・データを 提供します。 (長いデータ値の場合に便利です。)
SQLPutData() コア 現在 パラメーターのデータ値の一部または全部を送ります。 (この関数は、長いデータ値の場合に便利です。)

結果および結果に関する情報の取り出し

表 7. 結果および結果に関する情報の取り出しのための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLBindCol() コア 現在 結果列のためのストレージを割り当て、データ・タイプを指定します。
SQLBindFileToCol() いいえ 現在 結果セット内の LOB 列をファイル参照またはファイル参照の配列に関連付けます。
SQLBulkOperations() レベル 1 現在 バルク挿入操作を実行します。
SQLColAttribute() コア 現在 結果セット内の列の属性を記述します。
SQLColAttributes() 非推奨 非推奨 結果セット内の列の属性を記述します。
SQLDescribeCol() コア 現在 結果セット内の列について記述します。
SQLError() 非推奨 非推奨 追加のエラー情報または状況情報を返します。
SQLExtendedFetch() 非推奨 現在 複数の結果行を戻します。
SQLFetch() コア 現在 1 つの結果行を戻します。
SQLFetchScroll() コア 現在 絶対位置または相対位置によって指定された行セットを戻します。
SQLGetData() コア 現在 結果セットの 1 行の 1 列の一部または全部を返します。 (この関数は、長いデータ値の場合に便利です。)
SQLGetDiagRec() コア 現在 追加の診断情報を戻します。
SQLGetSQLCA() いいえ 現在 ステートメント・ハンドルに関連した SQLCA を戻します。
SQLMoreResults() レベル 1 現在 結果セットがまだあるかどうかを判別し、ある場合には、 次の結果セットの処理を初期化します。
SQLNumResultCols() コア 現在 結果セット内の列の数を返します。
SQLRowCount() コア 現在 挿入、更新、削除、またはマージの要求によって影響を受ける行数を戻します。
SQLSetColAttributes() いいえ 現在 結果セット内の列の属性を設定します。
SQLSetPos() レベル 1 現在 アプリケーションが行セット内の行をリフレッシュ、更新、削除、および挿入できるようにします。

ラージ・オブジェクトの処理

表 8. ラージ・オブジェクトの処理のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLGetLength() いいえ 現在 LOB ロケーターが参照するストリングの長さをバイトで取得します。
SQLGetPosition() いいえ 現在 LOB ロケーターが参照するソース・ストリング内のストリングの位置を取得します。
SQLGetSubString() いいえ 現在 ソース・ストリング内のサブストリングを参照する新しい LOB ロケーターを作成します。 (ソース・ストリングは、LOB ロケーターによっても表されます。)

カタログからの情報の取得

表 9. カタログ情報の取得のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLColumnPrivileges() レベル 2 現在 1 つの表に関する列および関連特権のリストを戻します。
SQLColumns() コア 現在 指定した表の中の列名のリストを返します。
SQLForeignKeys() レベル 2 現在 指定された表に外部キーが存在する場合、外部キーを含む列名のリストを戻します。
SQLPrimaryKeys() レベル 1 現在 表の主キーを構成する列名のリストを返します。
SQLProcedureColumns() レベル 1 現在 指定されたプロシージャーの結果セットを構成する列、および 入出力パラメーターのリストを戻します。
SQLProcedures() レベル 1 現在 特定のデータ・ソースに保管されたプロシージャー名のリストを戻します。
SQLSpecialColumns() コア 現在 指定された表の行を一意的に識別する最適な列セットに関する情報を戻します。 または、行のいずれかの値がトランザクションによって更新されると自動的に 更新される列を識別します。
SQLStatistics() コア 現在 単一の表に関する統計およびその表に関連付けられた索引のリストを戻します。
SQLTablePrivileges() レベル 2 現在 表のリスト、およびそれぞれの表に関連付けられた特権のリストを戻します。
SQLTables() コア 現在 特定のデータ・ソースに保管された表名のリストを戻します。

ステートメントの終了

表 10. ステートメントの終了のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLCancel() コア 現在 SQL ステートメントを取り消します。
SQLCloseCursor() コア 現在 ステートメント・ハンドルでオープンされているカーソルをクローズします。
SQLEndTran() コア 現在 トランザクションをコミットまたはロールバックします。
SQLFreeStmt() コア 現在 ステートメントの処理を終了し、関連するカーソルをクローズし、 ペンディング結果を廃棄し、またオプションで、ステートメント・ハンドルに関連する すべてのリソースを解放します。
SQLTransact() 非推奨 非推奨 トランザクションをコミットまたはロールバックします。

接続の終了

表 11. 接続の終了のための関数
関数名 ODBC 3.0 のレベル Db2 ODBC サポート 目的
SQLDisconnect() コア 現在 接続をクローズします。
SQLFreeConnect() 非推奨 非推奨 接続ハンドルを解放します。
SQLFreeEnv() 非推奨 非推奨 環境ハンドルを解放します。
SQLFreeHandle() コア 現在 環境ハンドル、接続ハンドル、ステートメント・ハンドル、または記述子ハンドルを解放します。

Db2 ODBC でサポートされていない ODBC 3.0 関数

以下の ODBC 3.0 関数は、 Db2 ODBCでサポートされていません。

  • SQLBrowseConnect().
  • SQLCopyDesc(). Db2 ODBC はディスクリプタフィールドをサポートしていません。
  • SQLDrivers()この機能は、 ODBC のドライバマネージャによって実装されています。これは、 Db2 ODBC には適用されません。
  • SQLGetDescField(). Db2 ODBC はディスクリプタフィールドをサポートしていません。
  • SQLGetDescRec(). Db2 ODBC はディスクリプタフィールドをサポートしていません。
  • SQLSetDescField(). Db2 ODBC はディスクリプタフィールドをサポートしていません。
  • SQLSetDescRec(). Db2 ODBC はディスクリプタフィールドをサポートしていません。
  • SQLSetScrollOptions()。この関数は、以下のステートメント属性によって置き換えられます。
    • SQL_ATTR_CURSOR_TYPE
    • SQL_ATTR_CONCURRENCY
    • SQL_KEYSET_SIZE
    • SQL_ATTR_ROWSET_SIZE