Share via


環境の遷移

ODBC 環境には、次の 3 つの状態があります。

State 説明
E0 未割り当て環境
E1 割り当てられた環境、未割り当て接続
E2 割り当てられた環境、割り当てられた接続

次の表は、各 ODBC 関数が環境の状態にどのように影響するかを示しています。

SQLAllocHandle

E0

未割り当て
E1

Allocated
E2

接続
E1[1] --[4] --[4]
(IH)[2] E2[5]
(HY010)[6]
--[4]
(IH)[3] (IH) --[4]

[1] この行には 、HandleType がSQL_HANDLE_ENVされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_DBCされたときの遷移が表示されます。

[3] この行には 、HandleType がSQL_HANDLE_STMTまたはSQL_HANDLE_DESCされたときの遷移が表示されます。

[4] 有効なハンドルを指す OutputHandlePtr を使用して SQLAllocHandle を呼び出すと、そのハンドルが上書きされます。 これは、アプリケーション プログラミング エラーである可能性があります。

[5] 環境にSQL_ATTR_ODBC_VERSION環境属性が設定されている。

[6] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されていませんでした。

SQLDataSources と SQLDrivers

E0

未割り当て
E1

Allocated
E2

接続
(IH) --[1]
(HY010)[2]
--[1]
(HY010)[2]

[1] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されている。

[2] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されていませんでした。

SQLEndTran

E0

未割り当て
E1

Allocated
E2

接続
(IH)[1] --[3]
(HY010)[4]
--[3]
(HY010)[4]
(IH)[2] (IH) --

[1] この行には 、HandleType がSQL_HANDLE_ENVされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_DBCされたときの遷移が表示されます。

[3] 環境でSQL_ATTR_ODBC_VERSION環境属性が設定されていた。

[4] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されていませんでした。

SQLFreeHandle

E0

未割り当て
E1

Allocated
E2

接続
(IH)[1] E0 (HY010)
(IH)[2] (IH) --[4]
E1[5]
(IH)[3] (IH) --

[1] この行には 、HandleType がSQL_HANDLE_ENVされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_DBCされたときの遷移が表示されます。

[3] この行には 、HandleType がSQL_HANDLE_STMTまたはSQL_HANDLE_DESCされたときの遷移が表示されます。

[4] 割り当てられた他の接続ハンドルがありました。

[5] ハンドル で指定された接続ハンドルは、割り当てられた唯一の接続ハンドルでした。

SQLGetDiagField と SQLGetDiagRec

E0

未割り当て
E1

Allocated
E2

接続
(IH)[1] -- --
(IH)[2] (IH) --

[1] この行には 、HandleType がSQL_HANDLE_ENVされたときの遷移が表示されます。

[2] この行には 、HandleType がSQL_HANDLE_DBC、SQL_HANDLE_STMT、またはSQL_HANDLE_DESCされたときの遷移が表示されます。

SQLGetEnvAttr

E0

未割り当て
E1

Allocated
E2

接続
(IH) --[1]
(HY010)[2]
--

[1] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されている。

[2] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されていませんでした。

SQLSetEnvAttr

E0

未割り当て
E1

Allocated
E2

接続
(IH) --[1]
(HY010)[2]
(HY011)

[1] SQL_ATTR_ODBC_VERSION環境属性が環境に設定されている。

[2] Attribute 引数がSQL_ATTR_ODBC_VERSIONされず、SQL_ATTR_ODBC_VERSION環境属性が環境に設定されていませんでした。

その他のすべての ODBC 関数

E0

未割り当て
E1

Allocated
E2

接続
(IH) (IH) --