EDB-ODBCドライバーの機能¶
ODBC関数を使用して、ODBCにEDB-ODBCとサーバー間の接続のさまざまな属性に関する特定の情報を照会できます。
SQLGetInfo()はEDB-ODBCドライバーとAdvancedServerに関する情報を返します。SQLGetEnvAttr()はODBC環境属性に関する情報を返します。SQLGetConnectAttr()は、個々の接続に固有の属性に関する情報を返します。SQLGetStmtAttr()は、個々のステートメントに固有の属性に関する情報を返します。
ODBC関数を使用して、ODBCとのインターフェースに使用するオブジェクトのさまざまな属性を設定することもできます。
SQLSetConnectAttr()関数を使用して接続属性を設定します。SQLSetEnvAttr()関数を使用して環境属性を設定します。SQLSetStmtAttr()関数を使用してステートメント属性を設定します。
SQLGetInfo()¶
The ODBC SQLGetInfo() function returns information about the EDB-ODBC
driver and Advanced Server. You must have an open connection to call
SQLGetInfo(), unless you specify SQL_ODBC_VER as the info_type. The
signature for SQLGetInfo() is:
SQLRETURN SQLGetInfo
(
SQLHDBC *conn_handle*, // Input
SQLUSMALLINT *info_type*, // Input
SQLPOINTER *info_pointer*, // Output
SQLSMALLINT *buffer_len*, // Input
SQLSMALLINT \*\ *string_length_pointer* // Output
);
conn_handle
接続ハンドル。
info_type
SQLGetInfo()が取得する情報のタイプ。
info_pointer
取得した値を保持するメモリバッファーへのポインター。
引数 info_type が SQL_DRIVER_HDESC または SQL_DRIVER_HSTMT の場合、 info_pointer 引数は Input と Output の両方になります。
buffer_len
buffer_len is the length of the allocated memory buffer pointed to by
info_pointer. If info_pointer is NULL, buffer_len is ignored. If
the returned value is a fixed size, buffer_len is ignored.
buffer_len is only used if the requested value is returned in the form
of a character string.
string_length_pointer
string_length_pointer は SQLSMALLINT 値へのポインタです。 SQLGetInfo() は要求された値のサイズをこの整数に書き込みます。
A typical usage is to call SQLGetInfo() with a NULL info_pointer to
obtain the length of the requested value, allocate the required number
of bytes, and then call SQLGetInfo() again (providing the address of the
newly allocated buffer) to obtain the actual value. The first call
retrieves the number of bytes required to hold the value; the second
call retrieves the value.
戻り値のサイズが buffer_len を超える場合、情報は切り捨てられ、 NULL は終了します。戻り値が固定サイズの場合、 string_length は無視されます(要求された値のサイズは SQLGetInfo() では提供されません)。
SQLGetInfo() は次のいずれかの形式で情報を書き込みます:
SQLUINTEGERビットマスクSQLUINTEGERフラグSQLUINTEGERバイナリ値SQLUSMALLINTの値NULLで終了する文字列
SQLGetInfo() は SQL_SUCCESS 、 SQL_SUCCESS_WITH_INFO 、 SQL_ERROR 、または SQL_INVALID_HANDLE を返します。
次の表は、AdvancedServer接続に関してEDB-ODBCから返される情報を示しています。
SQLinfo_typeの引数と説明 |
EDB_ODBC/AdvancedServerの戻り値: |
|---|---|
SQL_ACCESSIBLE_PROCEDURES:SQLProcedures()から返されたプロシージャをアプリケーションで実行できるかどうかを示します。 |
Nを返します。SQLProcedures()関数によって実行されるいくつかのプロシージャーは、アプリケーションによって実行される場合があります。 |
SQL_ACCESSIBLE_TABLES:SQLTables()によって返されたすべてのテーブル名に対するSELECT権限がユーザーにあるかどうかを示します。 |
Nを戻します。ユーザーは、SQLTables()関数によって戻された1つ以上の表に対する選択特権を持っていない可能性があります。 |
SQL_ACTIVE_CONNECTIONSprev。SQL_MAX_DRIVER_CONNECTIONS:EDB-ODBCがサポートできる接続の最大数を示します。 |
0を返します。許可される接続数に制限はありません。 |
SQL_ACTIVE_ENVIRONMENTS:EDB-ODBCがサポートできるアクティブな環境の数。 |
0を返します。許可される環境の数に制限はありません。 |
SQL_ACTIVE_STATEMENTS前へSQL_MAX_CONCURRENT_ACTIVITIES:EDB-ODBCがサポートできるアクティブなステートメントの最大数を示します。 |
0を返します。許可されるアクティブなステートメントの数に制限はありません。 |
SQL_AGGREGATE_FUNCTION:サーバーおよびドライバーでサポートされる集約関数を識別します。 |
SQL_AF_ALLを返します |
SQL_ALTER_DOMAIN:サーバーでサポートされるALTERDOMAIN句を識別します。 |
0を返します。ALTERDOMAIN句はサポートされていません。 |
SQL_ALTER_TABLE:サーバーがサポートするALTERTABLE句を識別します。 |
SQL_AT_ADD_COLUMN、SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE、SQL_AT_DROP_TABLE_CONSTRAINT、SQL_AT_CONSTRAINT_INITIALLY_DEFERRED、SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE、SQL_AT_CONSTRAINT_DEFERRABLEを返します |
SQL_ASYNC_MODE:EDB-ODBCでサポートされる非同期モードのレベル。 |
SQL_AM_NONEを返します。非同期モードはサポートされていません。 |
SQL_BATCH_ROW_COUNT:ドライバーが行カウントを返す方法を示します。 |
SQL_BRC_EXPLICITを返します。行カウントは、SQLExecuteまたはSQLExecDirectを呼び出して実行するときに使用できます。 |
SQL_BATCH_SUPPORT:バッチステートメント実行のサポートを示します。 |
戻り値:SQL_BS_SELECT_EXPLICIT、SQL_BS_ROW_COUNT_EXPLICIT。ドライバーは、結果セットと行数を生成するステートメントを含む明示的なバッチをサポートします。 |
SQL_BOOKMARK_PERSISTENCE:ブックマークのサポートのレベルを示します。 |
戻り値:SQL_BP_DELETE、SQL_BP_TRANSACTION、SQL_BP_UPDATE、SQL_BP_SCROLL。 |
SQL_CATALOG_LOCATIONSQL_QUALIFIER_LOCATION:修飾されたテーブル名でのカタログの位置を示します。 |
SQL_CL_STARTを返します。修飾テーブル名のカタログ部分は、名前の最初にあります。 |
SQL_CATALOG_NAMEがSQL_QUALIFIER_NAMEになりました:カタログ名のサポートを示します。 |
Yを返します。サーバーはカタログ名をサポートしています。 |
SQL_CATALOG_NAME_SEPARATORSQL_QUALIFIER_NAME_SEPARATOR:隣接する名前要素からカタログ名を区切る文字。 |
戻り値'。'サーバーは``。``を期待します修飾子とテーブル名の間の文字。/" |
SQL_CATALOG_TERMがSQL_QUALIFIER_TERMになりました:カタログの説明に使用される用語。 |
カタログを返します。 |
SQL_CATALOG_USAGESQL_QUALIFIER_USAGE:カタログを参照する可能性のあるSQLステートメントを示します。 |
SQL_CU_DML_STATEMENTSを返します。カタログ名は、SELECT、INSERT、UPDATE、DELETE、SELECTFORUPDATE、および位置付けUPDATEおよびDELETEステートメントで使用できます。 |
SQL_COLLATION_SEQ:照合順序の名前を返します。 |
空の文字列を返します。デフォルトの照合の名前は不明です。 |
SQL_COLUMN_ALIAS:サーバーが列の別名をサポートしていることを示します。 |
Yを返します。サーバーは列のエイリアスをサポートしています。 |
SQL_CONCAT_NULL_BEHAVIOR:サーバーがNULL値の連結を処理する方法を示します。 |
SQL_CB_NON_NULLを返します。NULL値と非NULL値を連結すると、NULL値になります。 |
SQL_CONVERT_BIGINT:CONVERT関数を使用したBIGINTタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_BINARY:CONVERT関数を使用したBINARYタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_BIT:CONVERT関数を使用したBITタイプからの変換サポートを示します。 |
戻り値:SQL_CVT_INTEGER、SQL_CVT_BIT。 |
SQL_CONVERT_CHAR:CONVERT関数を使用したCHARタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_DATE:CONVERT関数を使用したDATEタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_DECIMAL:CONVERT関数を使用したDECIMALタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_DOUBLE:CONVERT関数を使用したDOUBLEタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_FLOAT:CONVERT関数を使用したFLOATタイプからの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_FUNCTIONS:CONVERT関数を使用してサーバーとドライバーがサポートするスカラー変換関数をリストします。 |
戻り値:SQL_FN_CVT_CONVERT。 |
SQL_CONVERT_INTEGER:CONVERT関数を使用したINTEGERタイプからの変換サポートをリストします。 |
戻り値:SQL_CVT_INTEGER、SQL_CVT_BIT。 |
SQL_CONVERT_INTERVAL_DAY_TIME:CONVERT関数を使用したINTERVAL_DAY_TIMEタイプからの変換サポートを示します。 |
このinfo_typeは現在サポートされていません。 |
SQL_CONVERT_INTERVAL_YEAR_MONTH:CONVERT関数を使用したINTERVAL_YEAR_MONTHタイプからの変換サポートを示します。 |
このinfo_typeは現在サポートされていません。 |
SQL_CONVERT_LONGVARBINARY:CONVERT関数を使用したLONG_VARBINARYタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_LONGVARCHAR:CONVERT関数を使用したLONGVARCHARタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_NUMERIC:CONVERT関数を使用したNUMERICタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_REAL:CONVERT関数を使用したREALタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_SMALLINT:CONVERT関数を使用したSMALLINTタイプの変換サポートを示します。 |
戻り値:SQL_CVT_INTEGER、SQL_CVT_BIT。 |
SQL_CONVERT_TIME:CONVERT関数を使用したTIMEタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CVT_TIMESTAMP:CONVERT関数を使用したTIMESTAMPタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_TINYINT:CONVERT関数を使用したTINYINTタイプの変換サポートを示します。 |
戻り値:SQL_CVT_INTEGER、SQL_CVT_BIT。 |
SQL_CONVERT_VARBINARY:CONVERT関数を使用したVARBINARYタイプの変換サポートを示します。 |
0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_VARCHAR:CONVERT関数を使用したVARCHARタイプの変換サポートを示します。 |
戻り値:SQL_CVT_INTEGER、SQL_CVT_BIT。 |
SQL_CONVERT_WCHAR:CONVERT関数を使用したWCHARタイプの変換サポートを示します。 |
このinfo_typeは、Unicodeドライバーを使用する場合にのみ有効です。0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_WLONGVARCHAR:CONVERT関数を使用したWLONGVARCHARタイプの変換サポートを示します。 |
このinfo_typeは、Unicodeドライバーを使用する場合にのみ有効です。0を返します。サーバーは変換をサポートしていません。 |
SQL_CONVERT_WVARCHAR:CONVERT関数を使用したWVARCHARタイプの変換サポートを示します。 |
このinfo_typeは、Unicodeドライバーを使用する場合にのみ有効です。0を返します。サーバーは変換をサポートしていません。 |
SQL_CORRELATION_NAME:サーバーが相関名をサポートしていることを示します。 |
SQL_CN_ANYを返します。相関名がサポートされており、任意の有効な名前にすることができます。 |
SQL_CREATE_ASSERTION:CREATEASSERTIONステートメントのサポートを示します。 |
0を返します。CREATEASSERTIONステートメントはサポートされていません。 |
SQL_CREATE_CHARACTER_SET:CREATECHARACTERステートメントのサポートを示します。 |
0を返します。CREATECHARACTERステートメントはサポートされていません。 |
SQL_CREATE_COLLATION:CREATECOLLATIONのサポートを示します。 |
0を返します。CREATECOLLATIONステートメントはサポートされていません。 |
SQL_CREATE_DOMAIN:CREATEDOMAINステートメントのサポートを示します。 |
0を返します。CREATEDOMAINステートメントはサポートされていません。 |
SQL_CREATE_SCHEMA:CREATESCHEMAステートメントのサポートを示します。 |
戻り値:SQL_CS_CREATE_SCHEMA、SQL_CS_AUTHORIZATION。 |
SQL_CREATE_TABLE:CREATETABLEステートメントのサポートを示します。 |
戻り値:SQL_CT_CREATE_TABLE、SQL_CT_GLOBAL_TEMPORARY、SQL_CT_CONSTRAINT_INITIALLY_DEFERRED、SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE、SQL_CT_CONSTRAINT_DEFERRABLE、SQL_CT_COLUMN_CONSTRAINT、SQL_CT_COLUMN_DEFTRAT、SQL_CT_COLUMN_DEFTRAT、SQL_CT_CONTRA_STRAINT |
SQL_CREATE_TRANSLATION:CREATETRANSLATIONステートメントのサポートを示します。 |
0を返します。CREATETRANSLATIONステートメントはサポートされていません。 |
SQL_CREATE_VIEW:CREATEVIEWステートメントのサポートを示します。 |
SQL_CV_CREATE_VIEWを返します。 |
SQL_CURSOR_COMMIT_BEHAVIOR:COMMIT操作がカーソルに与える影響を示します。 |
SQL_CB_PRESERVEを返します。カーソルは変更されず、引き続きデータをフェッチできます。 |
SQL_CURSOR_ROLLBACK_BEHAVIOR:ROLLBACK操作後のサーバーの動作を示します。 |
SQL_CB_PRESERVEを返します。カーソルは変更されず、引き続きデータをフェッチできます。 |
SQL_CURSOR_SENSITIVITY:サーバーが変更を結果セットに同期する方法を示します。 |
このinfo_typeは現在サポートされていません。 |
SQL_DATA_SOURCE_NAME:接続中に使用されたサーバー名を返します。 |
返される値は、接続プロパティによって決まります。 |
SQL_DATA_SOURCE_READ_ONLY:接続が読み取り専用モードであるかどうかを示します。 |
返される値は、接続プロパティによって決まります。 |
SQL_DATABASE_NAME:データベースの名前を返します。 |
返される値は、接続プロパティによって決まります。 |
SQL_DATETIME_LITERALS:サーバーがサポートするDATETIMELITERALSを示します。 |
このinfo_typeはサポートされていません。 |
SQL_DBMS_NAME:DBMSシステムの名前を返します。 |
Linuxのodbc.iniファイルのdbms_nameパラメータで指定された値、またはWindowsでデータソースを定義するときに[詳細オプション]ダイアログボックスの2ページのdbms_nameフィールドを返します。デフォルトはEnterpriseDBです。 |
SQL_DBMS_VER:サーバーのバージョンを返します。 |
サーバーによって決定されます。 |
SQL_DDL_INDEX:インデックスの作成と削除のサポートを示します。 |
戻り値:SQL_DI_CREATE_INDEX、SQL_DI_DROP_INDEX。 |
SQL_DEFAULT_TXN_ISOLATION:サーバーによるトランザクション分離のサポートを示します。 |
TXN_READ_COMMITTEDを返します。繰り返し不可またはファントム読み取りが可能です。ダーティーリードはそうではありません。 |
SQL_DESCRIBE_PARAMETER:DESCRIBEINPUTステートメントのサポートを示します。 |
Nを返します。DESCRIBEINPUTステートメントはサポートされていません。 |
SQL_DM_VER:ドライバーマネージャーのバージョン。 |
ドライバーマネージャーによって決定されます。 |
SQL_DRIVER_HDBC:ドライバーの接続ハンドル。 |
ドライバの接続ハンドルを含むSQLULEN値を返します。 |
SQL_DRIVER_HDESC:ドライバー記述子ハンドル。 |
ドライバーの記述子ハンドルを含むSQLULEN値を返します。 |
SQL_DRIVER_HENV:ドライバーの環境ハンドル。 |
ドライバーの環境ハンドルを含むSQLULEN値を返します。 |
SQL_DRIVER_HLIB:ドライバーハンドル。 |
ライブラリハンドルを含むSQLULEN値を返します(マネージャーがドライバーをロードしたときにODBCドライバーマネージャーに返されます)。 |
SQL_DRIVER_HSTMT:ドライバーのステートメントハンドル。 |
ドライバのステートメントハンドルを含むSQLULEN値を返します。 |
SQL_DRIVER_NAME:ドライバーの名前。 |
EDB-ODBC.DLLを返します |
SQL_DRIVER_ODBC_VER:ドライバーがサポートするODBCバージョンを識別します。 |
03.50を返します |
SQL_DRIVER_VER:ドライバーのバージョンを識別します。 |
9.0.0.6を返します |
SQL_DROP_ASSERTION:サーバーでサポートされているDROPASSERTION句を一覧表示します。 |
0を返します |
SQL_DROP_CHARACTER_SET:サーバーがサポートするDROPCHARACTER句をリストします。 |
0を返します |
SQL_DROP_COLLATION:サーバーがサポートするDROPCOLLATION句を一覧表示します。 |
0を返します |
SQL_DROP_DOMAIN:サーバーがサポートするDROPDOMAIN句を一覧表示します。 |
0を返します |
SQL_DROP_SCHEMA:サーバーでサポートされているDROPSCHEMA句を一覧表示します。 |
戻り値:SQL_DS_DROP_SCHEMA、SQL_DS_RESTRICT、SQL_DS_CASCADE。 |
SQL_DROP_TABLE:サーバーがサポートするDROPTABLE句をリストします。 |
戻り値:SQL_DT_DROP_TABLE、SQL_DS_RESTRICT、SQL_DS_CASCADE。 |
SQL_DROP_TRANSLATION:サーバーでサポートされているDROPTRANSLATION句を一覧表示します。 |
0を返します。 |
SQL_DROP_VIEW:サーバーがサポートするDROPVIEW句をリストします。 |
戻り値:SQL_DV_DROP_VIEW、SQL_DS_RESTRICT、SQL_DS_CASCADE。 |
SQL_DYNAMIC_CURSOR_ATTRIBUTES1:ドライバーがサポートする動的カーソル属性の最初のセットについて説明します。 |
0を返します |
SQL_DYNAMIC_CURSOR_ATTRIBUTES2:ドライバーがサポートする動的カーソル属性の2番目のセットについて説明します。 |
0を返します |
SQL_EXPRESSIONS_IN_ORDERBY:サーバーによるORDERBYのサポートを示します。 |
Yを返します。 |
SQL_FETCH_DIRECTION:FETCH順序オプションを示します(ODBC3.0では非推奨)。 |
戻り値:SQL_FD_FETCH_NEXT、SQL_FD_FETCH_FIRS、SQL_FD_FETCH_LAST、SQL_FD_FETCH_PRIOR、SQL_FD_FETCH_ABSOLUTE、SQL_FD_FETCH_RELATIVE、SQL_FD_FETCH_BOOKMARK。 |
SQL_FILE_USAGE:単一層ドライバーがサーバー上のファイルを処理する方法を示します。 |
SQL_FILE_NOT_SUPPORTEDを返します。ドライバーは単一層ファイルではありません。 |
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1:ドライバーがサポートする前方スクロールカーソル属性について説明します。 |
SQL_CA1_NEXTを返します。 |
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2:SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1によって指定された前方スクロールカーソルの拡張属性について説明します。 |
戻り値:SQL_CA2_READ_ONLY_CONCURRENCY、SQL_CA2_CRC_EXACT。 |
SQL_GETDATA_EXTENSIONS:SQLGetDataのサポートされる拡張機能をリストします。 |
戻り値:SQL_GD_ANY_COLUMN、SQL_GD_ANY_ORDER、SQL_GD_BLOCK、SQL_GD_BOUND。 |
SQL_GROUP_BY:GROUPBY句とSELECTリストの列の間の関係を示します。 |
SQL_GB_GROUP_BY_EQUALS_SELECTを返します。 |
SQL_IDENTIFIER_CASE:SQL識別子の大文字と小文字の区別と格納を示します。 |
SQL_IC_LOWERを返します。 |
SQL_INDEX_KEYWORDS:CREATEINDEXステートメントのサポートを示します。 |
SQL_IK_NONEを返します。 |
SQL_INFO_SCHEMA_VIEWS:INFORMATION_SCHEMAでサポートされているビューをリストします。 |
0を返します。 |
SQL_INTEGRITYSQL_ODBC_SQL_OPT_IEF:参照整合性構文チェックのサーバーサポートを示します。 |
Nを返します。 |
SQL_INSERT_STATEMENT:INSERTステートメントのサポートのレベルを示します。 |
戻り値:SQL_IS_INSERT_LITERALS、SQL_IS_INSERT_SEARCHED、SQL_IS_SELECT_INTO。 |
SQL_KEYSET_CURSOR_ATTRIBUTES1:ドライバーがサポートするキーセットカーソル属性の最初のセットについて説明します。 |
戻り値:SQL_CA1_NEXT、SQL_CA1_ABSOLUTE、SQL_CA1_RELATIVE、SQL_CA1_BOOKMARK、SQL_CA1_LOCK_NO_CHANGE、SQL_CA1_POS_POSITION、SQL_CA1_POS_UPDATE、SQL_CA1_POS_DELETE、SQL_CA1_POS_CABO_BYLK_BOLK_BOLK_BOLK_BOLK_BOLK_BULK_BULK_BULK_BOLK |
SQL_KEYSET_CURSOR_ATTRIBUTES2:ドライバーがサポートするキーセットカーソル属性の2番目のセットについて説明します。 |
戻り値:SQL_CA2_READ_ONLY_CONCURRENCY、SQL_CA2_OPT_ROWVER_CONCURRENCY、SQL_CA2_SENSITIVITY_ADDITIONS、SQL_CA2_SENSITIVITY_DELETIONS、SQL_CA2_SENSITIVITY_UPDATES、SQL_CA2_CRC_EXACT。 |
SQL_KEYWORDS:サーバー固有の予約済みキーワードを識別します。 |
戻り値""。サーバー固有の予約済みキーワードはありません。 |
SQL_LIKE_ESCAPE_CLAUSE:LIKE述語でのエスケープ文字のサポートを示します。 |
AdvancedServerはLIKE述語のエスケープ文字をサポートしていません。 |
SQL_LOCK_TYPES:サポートされているロックタイプをリストします(ODBC3.0では非推奨)。 |
SQL_LCK_NO_CHANGEを返します。 |
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS:ドライバーがサポートできるアクティブな並行ステートメントの数。 |
このinfo_typeは現在サポートされていません。 |
SQL_MAX_BINARY_LITERAL_LEN:バイナリリテラルの最大長。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_CATALOG_NAME_LEN:サーバー上のカタログ名の最大長。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_QUALIFIER_NAME_LEN:修飾子の最大長。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_CHAR_LITERAL_LEN:文字ストリングの最大文字数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_COLUMN_NAME_LEN:列名の最大長。 |
64を返します。列名の長さは64文字を超えることはできません。 |
SQL_MAX_COLUMNS_IN_GROUP_BY:GROUPBY句で許可される列の最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_COLUMNS_IN_INDEX:インデックスで許可される列の最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_COLUMNS_IN_ORDER_BY:ORDERBY句で許可される列の最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_COLUMNS_IN_SELECT:SELECTリストで許可される列の最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_COLUMNS_IN_TABLE:テーブルで許可される列の最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_CONCURRENT_ACTIVITIES前へSQL_MAX_ACTIVE_STATEMENTS:ドライバーがサポートできるアクティブなSQLステートメントの最大数。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_CURSOR_NAME_LEN:カーソル名の最大長。 |
32を返します。カーソル名の長さは32文字を超えることはできません。 |
SQL_MAX_DRIVER_CONNECTIONS前へSQL_ACTIVE_CONNECTIONS:ドライバーがサポートできるアクティブな接続の最大数。 |
0を返します。サポートされる接続の数に制限はありません。 |
SQL_MAX_IDENTIFIER_LEN:サーバーで許可されるIDの最大長。 |
64を返します。識別子の長さは64文字を超えることはできません。 |
SQL_MAX_INDEX_SIZE:インデックスの(結合された)フィールドで許可される最大バイト数。 |
0を返します。最大サイズは指定されていません。 |
SQL_MAX_OWNER_NAME_LENSQL_MAX_SCHEMA_NAME_LEN:サーバーで許可されている所有者名の最大長。 |
64を返します。所有者名の最大長は64文字です。 |
SQL_MAX_PROCEDURE_NAME_LEN:サーバーが許可するプロシージャー名の最大長。 |
0を返します。最大長は指定されていません。 |
SQL_MAX_QUALIFIER_NAME_LENSQL_MAX_CATALOG_NAME_LEN:サーバーで許可されている修飾子名の最大長。 |
0を返します。修飾子の最大長は指定されていません。 |
SQL_MAX_ROW_SIZE:行の最大長。 |
0を返します。行の最大長は指定されていません。 |
SQL_MAX_ROW_SIZE_INCLUDES_LONG:SQL_MAX_ROW_SIZEに行のLONGVARCHARまたはLONGVARBINARY列の長さが含まれているかどうかを示します。 |
Yを返します。SQL_MAX_ROW_SIZEには、行のLONGVARCHARまたはLONGVARBINARY列の長さが含まれます。 |
SQL_MAX_SCHEMA_NAME_LEN:サーバーで許可されるスキーマ名の最大長。 |
64を返します。スキーマ名の最大長は64文字です。 |
SQL_MAX_STATEMENT_LEN:SQLステートメントの最大長。 |
0を返します。ステートメントの最大長は、使用可能なメモリによって制限されます。 |
SQL_MAX_TABLE_NAME_LEN:サーバーが許可するテーブル名の最大長。 |
64を返します。テーブル名の最大長は64文字です。 |
SQL_MAX_TABLES_IN_SELECT:SELECTステートメントのFROM句で許可されるテーブルの最大数。 |
0を返します。許可されるテーブルの最大数は指定されていません。 |
SQL_MAX_USER_NAME_LEN:サーバーで許可されているユーザー名の最大長。 |
0を返します。ユーザー名の最大長は指定されていません。 |
SQL_MULT_RESULT_SETS:サーバーが複数の結果セットをサポートすることを示します。 |
Yを返します。AdvancedServerは複数の結果セットをサポートしています。 |
SQL_MULTIPLE_ACTIVE_TXN:サーバーが複数のアクティブなトランザクションをサポートするかどうかを示します。 |
Yを返します。AdvancedServerは複数のアクティブなトランザクションをサポートしています。 |
SQL_NEED_LONG_DATA_LEN:サーバーが値を受け取る前にLONGデータ値の長さが必要かどうかを示します。 |
Nを返します。AdvancedServerは、値を受け取る前にLONGデータ値の長さを必要としません。 |
SQL_NON_NULLABLE_COLUMNS:サーバーが列でNOTNULL値をサポートするかどうかを示します。 |
SQL_NNC_NON_NULLを返します。AdvancedServerは、列のNOTNULL値をサポートします。 |
SQL_NULL_COLLATION:NULL値が結果セットのどこにあるかを示します。 |
SQL_NC_HIGHを返します。データセット内のNULL値の場所は、ASCおよびDESCキーワードによって決定されます。NULL値は、データセットの上限にソートされます。 |
SQL_NUMERIC_FUNCTIONS:ドライバーとサーバーでサポートされている数値関数をリストします。 |
戻り値:SQL_FN_NUM_ABS、SQL_FN_NUM_ATAN、SQL_FN_NUM_CEILING、SQL_FN_NUM_COS、SQL_FN_NUM_EXP、SQL_FN_NUM_FLOOR、SQL_FN_NUM_LOG、SQL_FN_NUM_MOD、SQL_FN_NUM_SIGN_SQL_FN_NUM_SIN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN、SQL_FN_NUM_SUN |
SQL_ODBC_API_CONFORMANCE:ODBC3.0準拠レベルを示します |
SQL_OAC_LEVEL1を返します。ドライバーは、ODBCレベル1インターフェースに準拠しています。 |
SQL_ODBC_INTERFACE_CONFORMANCE:ドライバーが準拠するODBCインターフェースを示します。 |
SQL_OIC_COREを返します。 |
SQL_ODBC_SAG_CLI_CONFORMANCE:ドライバーが準拠しているSQLアクセスグループのコンプライアンスレベルを示します。 |
SQL_OSCC_NOT_COMPLIANTを返します。ドライバーはSAGCLIに準拠していません。 |
SQL_ODBC_SQL_CONFORMANCE:ドライバーが準拠するSQL文法レベルを示します。 |
SQL_OSC_COREを返します。ドライバーはコア文法レベルに準拠しています。 |
SQL_ODBC_SQL_OPT_IEFになりましたSQL_INTEGRITY:参照整合性構文チェックのサーバーサポートを示します。 |
Nを返します。サーバーは参照整合性構文チェックをサポートしていません。 |
SQL_ODBC_VER:ドライバーマネージャーでサポートされているODBCバージョン |
03.52.0000を返します。 |
SQL_OJ_CAPABILITIES:サーバーでサポートされている外部結合を識別します。 |
戻り値:SQL_OJ_LEFT、SQL_OJ_RIGHT、SQL_OJ_FULL、SQL_OJ_NESTED、SQL_OJ_NOT_ORDERED、SQL_OJ_INNER、SQL_OJ_ALL_COMPARISON_OPS。 |
SQL_OUTER_JOINS:外部結合と外部結合エスケープシーケンスのサポートを示します。 |
Yを返します。外部結合がサポートされています。 |
SQL_OWNER_TERM前へSQL_SCHEMA_TERM:スキーマを説明するために使用される用語。 |
スキーマを返します。 |
SQL_ORDER_BY_COLUMNS_IN_SELECT:ORDERBY句の列をSELECTリストに含める必要があるかどうかを示します。 |
Nを返します。ORDERBY句の列は、SELECTリストにある必要はありません。 |
SQL_OWNER_USAGESQL_SCHEMA_USAGE:どのステートメントがスキーマ修飾子をサポートするかを示す文字列を返します。 |
戻り値:SQL_OU_DML_STATEMENTS、SQL_OU_TABLE_DEFINITION、SQL_OU_INDEX_DEFINITION、SQL_OU_PRIVILEGE_DEFINITION。 |
SQL_PARAM_ARRAY_ROW_COUNTS:少なくとも1つのパラメーターが配列にバインドされているパラメーター化されたステートメントを実行したときに、サーバーが配列内の各要素に対して単一の行数または個別の行数を返すかどうかを示します。 |
配列内の各要素に対して個別の行数が利用可能な場合、SQL_PARC_BATCHを返します。SQL_PARC_NO_BATCH(配列全体で単一の累積行カウントが使用可能な場合)。 |
SQL_PARAM_ARRAY_SELECTS:少なくとも1つのパラメーターが配列にバインドされているパラメーター化されたステートメントを実行したときに、サーバーが配列内の各要素に対して1つの結果セットまたは個別の結果セットを返すか(またはドライバーがこの機能を許可しない場合)を示します。 |
SQL_PAS_BATCHを返します。配列の要素ごとに1つのデータセットを使用できます。 |
SQL_POS_OPERATION:SQLSetPos()がサポートするオプションをリストします。 |
戻り値:SQL_POS_POSITION、SQL_POS_REFRESH、SQL_POS_UPDATE、SQL_POS_DELETE、SQL_POS_ADD。 |
SQL_POSITIONED_STATEMENTS:サポートされている位置付けSQLステートメントをリストします。 |
戻り値:SQL_PS_POSITIONED_DELETE、SQL_PS_POSITIONED_UPDATE、SQL_PS_SELECT_FOR_UPDATE。 |
SQL_PROCEDURE_TERM:プロシージャの説明に使用される用語。 |
返品手順。 |
SQL_PROCEDURES:サーバーとドライバーがSQLプロシージャーとプロシージャー呼び出し構文をサポートするかどうかを示します。 |
Yを返します。サーバーとドライバーのサポートプロシージャおよびプロシージャ呼び出し構文。 |
SQL_QUALIFIER_LOCATION前。SQL_CATALOG_LOCATION:修飾テーブル名でのスキーマ名の位置を示します。 |
SQL_CL_STARTを返します。修飾テーブル名のカタログ部分は、名前の最初にあります。 |
SQL_QUALIFIER_NAME前へSQL_CATALOG_NAME:サーバーがカタログ名をサポートしていることを示します。 |
Yを返します。サーバーはカタログ名をサポートしています。 |
SQL_QUALIFIER_NAME_SEPARATOR前へSQL_CATALOG_NAME_SEPARATOR:修飾子名と隣接する名前要素を区切る文字。 |
戻り値'。'。サーバーは``。``を期待します修飾子とテーブル名の間の文字。 |
SQL_QUALIFIER_TERM前へSQL_CATALOG_TERM:修飾子を説明するために使用される用語。 |
カタログを返します。 |
SQL_QUALIFIER_USAGE前へSQL_CATALOG_USAGE:修飾子を参照する可能性のあるSQLステートメントを示します。 |
SQL_CU_DML_STATEMENTSを返します。カタログ名は、SELECT、INSERT、UPDATE、DELETE、SELECTFORUPDATE、および位置付けUPDATEおよびDELETEステートメントで使用できます。 |
SQL_QUALIFIER_USAGESQL_CATALOG_USAGE:修飾子名をサポートするDMLステートメントを識別します。 |
SQL_CU_DML_STATEMENTSを返します。修飾子は、すべてのDMLステートメント(SELECT、INSERT、UPDATE、DELETE、SELECTFORUPDATE)で使用できます。 |
SQL_QUOTED_IDENTIFIER_CASE:引用された識別子の大文字と小文字の区別を示します。 |
SQL_IC_SENSITIVEを返します。引用識別子は大文字と小文字を区別します。 |
SQL_QUALIFIER_NAME_SEPARATORSQLCATALOG_NAME_SEPARATOR:名前修飾子と名前要素を区切る文字。 |
|
SQL_QUALIFIER_TERM:修飾子を説明するために使用される用語。 |
返品カタログ |
SQL_QUALIFIER_LOCATION:修飾されたテーブル名での修飾子の位置。 |
SQL_CL_STARTを返します。修飾子は、修飾テーブル名でテーブル名の前にあります。 |
SQL_ROW_UPDATES:キーセットドリブンカーソルまたは混合カーソルが行のバージョンまたは値を維持するかどうかを示します。 |
Yを返します。カーソルは、フェッチされたすべての行の値を維持し、行の値の更新を検出できます。 |
SQL_SCHEMA_TERM:スキーマを説明するために使用される用語。 |
スキーマを返します |
SQL_SCHEMA_USAGE:スキーマを参照する可能性のあるSQLステートメントを示します。 |
戻り値:SQL_OU_DML_STATEMENTS、SQL_OU_TABLE_DEFINITION、SQL_OU_INDEX_DEFINITION、SQL_OU_PRIVILEGE_DEFINITION。 |
SQL_SCROLL_CONCURRENCY:サーバーでサポートされているカーソル同時実行制御オプションを示します。 |
戻り値:SQL_SCCO_READ_ONLY、SQL_SCCO_OPT_ROWVER。 |
SQL_SCROLL_OPTIONS:サーバーがサポートするカーソルスクロールオプションを示します。 |
戻り値:SQL_SO_FORWARD_ONLY、SQL_SO_KEYSET_DRIVEN、SQL_SO_STATIC。 |
SQL_SEARCH_PATTERN_ESCAPE:ワイルドカード文字%および_を検索パターンで使用できるようにするエスケープ文字。 |
戻り値/。 |
SQL_SERVER_NAME:ホストの名前を示します。 |
戻り値は、接続プロパティによって決定されます。 |
SQL_SPECIAL_CHARACTERS:識別子名に使用できる特殊文字を示します。 |
戻り値_。識別子名にはアンダースコア文字を使用できます。 |
SQL_SQL_CONFORMANCE:SQL-92準拠のレベルを示します。 |
SQL_SC_SQL92_ENTRYを返します。ドライバはSQL92エントリレベルに準拠しています。 |
SQL_SQL92_DATETIME_FUNCTIONS:サーバーがサポートする日時関数をリストします。 |
戻り値:SQL_SDF_CURRENT_DATE、SQL_SDF_CURRENT_TIME、SQL_SDF_CURRENT_TIMESTAMP。 |
SQL_SQL92_FOREIGN_KEY_DELETE_RULE:DELETEステートメントで外部キーを使用するためのサーバー強制ルールを示します。 |
戻り値:SQL_SFKD_CASCADE、SQL_SFKD_NO_ACTION、SQL_SFKD_SET_DEFAULT、SQL_SFKD_SET_NULL。 |
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:UPDATEステートメントで外部キーを使用するためのサーバー強制ルールを示します。 |
戻り値:SQL_SFKU_CASCADE、SQL_SFKU_NO_ACTION、SQL_SFKU_SET_DEFAULT、SQL_SFKU_SET_NULL。 |
SQL_SQL92_GRANT:サポートされているGRANTステートメント句を示します。 |
戻り値:SQL_SG_DELETE_TABLE、SQL_SG_INSERT_TABLE、SQL_SG_REFERENCES_TABLE、SQL_SG_SELECT_TABLE、SQL_SG_UPDATE_TABLE。 |
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:サーバーとドライバーでサポートされているスカラー数値関数をリストします。 |
戻り値:SQL_SNVF_BIT_LENGTH、SQL_SNVF_CHAR_LENGTH、SQL_SNVF_CHARACTER_LENGTH、SQL_SNVF_EXTRACT、SQL_SNVF_OCTET_LENGTH、SQL_SNVF_POSITION。 |
SQL_SQL92_PREDICATES、サーバーでサポートされているSELECTステートメントの述語を識別します。 |
戻り値:SQL_SP_EXISTS、SQL_SP_ISNOTNULL、SQL_SP_ISNULL、SQL_SP_OVERLAPS、SQL_SP_LIKE、SQL_SP_IN、SQL_SP_BETWEEN、SQL_SP_COMPARISON、SQL_SP_QUANTIFIED_COMPARISON。 |
SQL_SQL92_RELATIONAL_JOIN_OPERATORS:サーバーでサポートされているリレーショナル結合演算子を識別します。 |
戻り値:SQL_SRJO_CROSS_JOIN、SQL_SRJO_EXCEPT_JOIN、SQL_SRJO_FULL_OUTER_JOIN、SQL_SRJO_INNER_JOIN、SQL_SRJO_INTERSECT_JOIN、SQL_SRJO_LEFT_OUTER_JOIN、SQL_SRJOOINOOJINOSRJOOIN_JOIN_SQL_SRJOOIN_JOIN_SQL_SRJOOIN_SRJOIN_SRJOO |
SQL_SQL92_REVOKE:サーバーがサポートするREVOKEステートメントの句を識別します。 |
戻り値:SQL_SR_DELETE_TABLE、SQL_SR_INSERT_TABLE、SQL_SR_REFERENCES_TABLE、SQL_SR_SELECT_TABLE、SQL_SR_UPDATE_TABLE。 |
SQL_SQL92_ROW_VALUE_CONSTRUCTOR:サーバーがサポートするSELECTステートメントの行値コンストラクター式を示します。 |
戻り値:SQL_SRVC_VALUE_EXPRESSION、SQL_SRVC_NULL。 |
SQL_SQL92_STRING_FUNCTIONS:サーバーとドライバーがサポートする文字列スカラー関数をリストします。 |
戻り値:SQL_SSF_CONVERT、SQL_SSF_LOWER、SQL_SSF_UPPER、SQL_SSF_SUBSTRING、SQL_SSF_TRANSLATE、SQL_SSF_TRIM_BOTH、SQL_SSF_TRIM_LEADING、SQL_SSF_TRIM_TRAILING。 |
SQL_SQL92_VALUE_EXPRESSIONS:サーバーがサポートする値式を示します。 |
戻り値:SQL_SVE_CASE、SQL_SVE_CAST、SQL_SVE_COALESCE、SQL_SVE_NULLIF。 |
SQL_STANDARD_CLI_CONFORMANCE:ドライバーが準拠するCLI標準を示します。 |
このinfo_typeは現在サポートされていません。 |
SQL_STATIC_CURSOR_ATTRIBUTES1:ドライバーがサポートする静的カーソル属性の最初のセットについて説明します。 |
戻り値:SQL_CA1_NEXT、SQL_CA1_ABSOLUTE、SQL_CA1_RELATIVE、SQL_CA1_BOOKMARK、SQL_CA1_LOCK_NO_CHANGE、SQL_CA1_POS_POSITION、SQL_CA1_POS_UPDATE、SQL_CA1_POS_DELETE、SQL_CA1_POS_CABO_BYLK_BOLK_BOLK_BOLK_BOLK_BOLK_BULK_BULK_BULK_BOLK |
SQL_STATIC_CURSOR_ATTRIBUTES2:ドライバーがサポートする静的カーソル属性の2番目のセットについて説明します。 |
戻り値:SQL_CA2_READ_ONLY_CONCURRENCY、SQL_CA2_OPT_ROWVER_CONCURRENCY、SQL_CA2_SENSITIVITY_ADDITIONS、SQL_CA2_SENSITIVITY_DELETIONS、SQL_CA2_SENSITIVITY_UPDATES、SQL_CA2_CRC_EXACT。 |
SQL_STATIC_SENSITIVITY:SQLSetPos()またはUPDATEまたはDELETEステートメントによって静的カーソルに加えられた変更がアプリケーションによって検出されたかどうかを示します。 |
戻り値:SQL_SS_ADDITIONS、SQL_SS_DELETIONS、SQL_SS_UPDATES。 |
SQL_STRING_FUNCTIONS:サーバーとドライバーでサポートされているスカラー文字列関数をリストします。 |
戻り値:SQL_FN_STR_CONCAT、SQL_FN_STR_LTRIM、SQL_FN_STR_LENGTH、SQL_FN_STR_LOCATE、SQL_FN_STR_LCASE、SQL_FN_STR_RTRIM、SQL_FN_STR_SUBSTRING、SQL_FN_STR_UCASE。 |
SQL_SUBQUERIES:サーバーでサポートされているSELECTステートメントのサブクエリ述語を識別します。 |
戻り値:SQL_SQ_COMPARISON、SQL_SQ_EXISTS、SQL_SQ_IN、SQL_SQ_QUANTIFIED。 |
SQL_SYSTEM_FUNCTIONS:サーバーとドライバーがサポートするスカラーシステム関数を一覧表示します。 |
0を返します。 |
SQL_TABLE_TERM:テーブルの説明に使用される用語。 |
テーブルを返します。 |
SQL_TIMEDATE_ADD_INTERVALS:TIMESTAMPADDスカラー関数についてサーバーがサポートするタイムスタンプ間隔を示します。 |
0を返します。 |
SQL_TIMEDATE_DIFF_INTERVALS:TIMESTAMPDIFFスカラー関数についてサーバーがサポートするタイム・スタンプ間隔を示します。 |
0を返します |
SQL_TIMEDATE_FUNCTIONS:サーバーがサポートする日付と時刻の関数を示します。 |
戻り値:SQL_FN_TD_NOW、SQL_FN_TD_CURDATE、SQL_FN_TD_CURTIME。 |
SQL_TXN_CAPABLE:サーバーとドライバーによって提供されるトランザクションサポートを識別します。 |
SQL_TC_ALLを返します。トランザクションには、DMLステートメントとDDLステートメントの両方を含めることができます。 |
SQL_TXN_ISOLATION_OPTION:サーバーがサポートするトランザクション分離レベルを示します。 |
戻り値:SQL_TXN_READ_COMMITTED、SQL_TXN_SERIALIZABLE。 |
SQL_UNION:サーバーがUNION句をサポートしていることを示します。 |
戻り値:SQL_U_UNION、SQL_U_UNION_ALL。 |
SQL_USER_NAME:データベースに接続しているユーザーの名前を識別します。ログイン名とは異なる場合があります。 |
この値は、接続プロパティによって決定されます。 |
SQL_XOPEN_CLI_YEAR:ドライバーマネージャーが準拠するX/Open仕様の発行年。 |
このinfo_typeは現在サポートされていません。 |
接続属性¶
ODBCの SQLGetConnectAttr() および SQLSetConnectAttr() 関数を使用して、接続属性の値を取得または設定できます。
SQLGetConnectAttr()¶
SQLGetConnectAttr() 関数は接続属性の現在の値を返します。署名は次のとおりです。
SQLRETURN SQLGetConnectAttr
(
SQLHDBC *conn_handle,* //Input
SQLINTEGER *attribute,* //Input
SQLPOINTER *value_pointer,* //Output
SQLINTEGER *buffer_length,* //Input
SQLINTEGER \*\ *string_length_pointer* //Output
);
conn_handle
接続ハンドル。
attribute
attribute は値を取得したい属性を識別します。
value_pointer
attribute の値を受け取るメモリ内の場所へのポインタ。
buffer_length
If attribute is defined by ODBC and value_pointer points to a
character string or binary buffer, buffer_length is the length of
value_pointer. If value_pointer points to a fixed-size value (such
as an integer), buffer_length is ignored.
If EDB-ODBC defines the attribute, SQLGetConnectAttr() sets the
buffer_length parameter. buffer_length can be:
値のタイプ |
意味 |
|---|---|
文字列 |
文字列の長さ |
バイナリバッファ |
SQL_LEN_BINARY_ATTR(長さ)の結果 |
固定長データ型 |
SQL_IS_INTEGERまたはSQL_IS_UINTEGER |
その他のタイプ |
SQL_IS_POINTER |
string_length_pointer
value_pointer で返すために利用可能なバイト数を受け取る SQLINTEGER へのポインター。 value_pointer が NULL の場合、 string_length_pointer は返されません。
この関数は、 SQL_SUCCESS 、 SQL_SUCCESS_WITH_INFO 、 SQL_NO_DATA 、 SQL_ERROR 、または SQL_INVALID_HANDLE を返します。
次の表に、EDB-ODBCでサポートされている接続属性を示します。
属性 |
サポートされていますか? |
ノート |
|---|---|---|
SQL_ATTR_ACCESS_MODE |
番号 |
SQL_MODE_READ_WRITE |
SQL_ATTR_ASYNC_ENABLE |
番号 |
SQL_ASYNC_ENABLE_OFF |
SQL_ATTR_AUTO_IPD |
番号 |
|
SQL_ATTR_AUTOCOMMIT |
SQL_AUTOCOMMIT、SQL_AUTOCOMMIT_ON、SQL_AUTOCOMMIT_OFF |
|
SQL_ATTR_CONNECTION_TIMEOUT |
番号 |
|
SQL_ATTR_CURRENT_CATALOG |
番号 |
|
SQL_ATTR_DISCONNECT_BEHAVIOR |
番号 |
|
SQL_ATTR_ENLIST_IN_DTC |
はい |
win32および条件付きコンパイルの場合 |
SQL_ATTR_ENLIST_IN_XA |
番号 |
|
SQL_ATTR_LOGIN_TIMEOUT |
番号 |
SQL_LOGIN_TIMEOUT |
SQL_ATTR_ODBC_CURSORS |
番号 |
|
SQL_ATTR_PACKET_SIZE |
番号 |
|
SQL_ATTR_QUIET_MODE |
番号 |
|
SQL_ATTR_TRACE |
番号 |
|
SQL_ATTR_TRACEFILE |
番号 |
|
SQL_ATTR_TRANSLATE_LIB |
番号 |
|
SQL_ATTR_TRANSLATE_OPTION |
番号 |
|
SQL_ATTR_TXN_ISOLATION |
はい |
SQL_TXN_ISOLATION、SQL_DEFAULT_TXN_ISOLATION |
SQLSetConnectAttr()¶
ODBC SQLSetConnectAttr() 関数を使用して、接続属性の値を設定できます。関数のシグネチャは次のとおりです。
SQLRETURN SQLSetConnectAttr
(
SQLHDBC *conn_handle*, // Input
SQLINTEGER *attribute*, // Input
SQLPOINTER *value_pointer*, // Input
SQLINTEGER *string_length*, // Input
);
conn_handle
接続ハンドル
attribute
attribute は、値を設定する属性を識別します
value_pointer
attribute が想定する値へのポインタ。
string_length
If attribute is defined by ODBC and value_pointer points to a binary
buffer or character string, string_length is the length of
value_pointer. If value_pointer points to a fixed-length value (such
as an integer), string_length is ignored.
If EDB-ODBC defines the attribute, the application sets the
string_length parameter. Possible string_length values are:
値のタイプ |
意味 |
|---|---|
文字列 |
文字ストリングまたはSQL_NTSの長さ |
バイナリバッファ |
SQL_LEN_BINARY_ATTR(長さ)の結果 |
固定長データ型 |
SQL_IS_INTEGERまたはSQL_IS_UINTEGER |
その他のタイプ |
SQL_IS_POINTER |
SQLSetConnectAttr() は SQL_SUCCESS 、 SQL_SUCCESS_WITH_INFO 、 SQL_ERROR 、 SQL_STILL_EXECUTING または SQL_INVALID_HANDLE を返します。
You can call SQLSetConnectAttr() any time after the connection handle is
allocated, until the time that the connection is closed with a call to
SQLFreeHandle(). All attributes set by the call persist until the call
to SQLFreeHandle().
接続属性には、設定可能な特定の時間枠があります。一部の属性は接続が確立される前に設定する必要がありますが、他の属性は接続が確立された後にのみ設定できます。
次の表は、接続属性とそれらを設定できる期間を示しています。
属性 |
接続を確立する前または後に設定しますか? |
|---|---|
SQL_ATTR_ACCESS_MODE |
前または後 |
SQL_ATTR_ASYNC_ENABLE |
前または後 |
SQL_ATTR_AUTO_IPD |
前または後 |
SQL_ATTR_AUTOCOMMIT |
前または後 |
SQL_ATTR_CONNECTION_TIMEOUT |
前または後 |
SQL_ATTR_CURRENT_CATALOG |
前または後 |
SQL_ATTR_ENLIST_IN_DTC |
後 |
SQL_ATTR_ENLIST_IN_XA |
後 |
SQL_ATTR_LOGIN_TIMEOUT |
前 |
SQL_ATTR_ODBC_CURSORS |
前 |
SQL_ATTR_PACKET_SIZE |
前 |
SQL_ATTR_QUIET_MODE |
前または後 |
SQL_ATTR_TRACE |
前または後 |
SQL_ATTR_TRACEFILE |
前または後 |
SQL_ATTR_TRANSLATE_LIB |
後 |
SQL_ATTR_TRANSLATE_OPTION |
後 |
SQL_ATTR_TXN_ISOLATION |
前または後 |
環境属性¶
ODBCの SQLGetEnvAttr() および SQLSetEnvAttr() 関数を使用して、環境属性の値を取得または設定できます。
SQLGetEnvAttr()¶
システムの環境属性の現在の値を見つけるには、 SQLGetEnvAttr() 関数を使用します。関数のシグネチャは次のとおりです。
SQLRETURN SQLGetConnectAttr
(
SQLHDBC *env_handle*, // Input
SQLINTEGER *attribute*, // Input
SQLPOINTER *value_ptr*, // Output
SQLINTEGER *buffer_length*, // Input
SQLINTEGER \*\ *string_length_pointer* // Output
);
env_handle
環境ハンドル。
attribute
attribute は値を取得したい属性を識別します。
value_pointer
attribute の値を受け取るメモリ内の場所へのポインタ。
buffer_length
If the attribute is a character string, buffer_length is the length of
value_ptr. If the value of the attribute is not a character string,
buffer_length is unused.
string_length_pointer
value_pointer で返すために利用可能なバイト数を受け取る SQLINTEGER へのポインター。 ``value_pointer* is NULL, `` string_length_pointer``が返されない場合。
この関数は、 SQL_SUCCESS 、 SQL_SUCCESS_WITH_INFO 、 SQL_NO_DATA 、 SQL_ERROR 、または SQL_INVALID_HANDLE を返します。
次の表に、EDB-ODBCでサポートされている環境属性を示します。
属性 |
サポートされていますか? |
制限? |
|---|---|---|
SQL_ATTR_CONNECTION_POOLING |
SQL_CP_ONE_PER_DRIVERまたはSQL_CP_OFF |
接続プロパティによって決定 |
SQL_ATTR_ODBC_VERSION |
(SQL_OV_ODBC3) (SQL_OV_ODBC2) |
なし |
SQL_ATTR_OUTPUT_NTS |
SQL_SUCCESS |
なし |
SQLSetEnvAttr()¶
SQLSetEnvAttr() 関数を使用して、環境属性の値を設定できます。関数のシグネチャは次のとおりです。
SQLRETURN SQLSetEnvAttr
(
SQLHENV *env_handle*, //Input
SQLINTEGER *attribute*, //Input
SQLPOINTER *value_pointer*, //Input
SQLINTEGER *string_length* //Input
);
env_handle
環境ハンドル。
attribute
attribute は値を設定したい属性を識別します。
value_pointer
A pointer to the value assigned to the attribute. The value will be a
NULL terminated character string or a 32 bit integer value depending on
the specified attribute.
string_length
If value_pointer is a pointer to a binary buffer or character string,
string_length is the length of value_pointer. If the value being
assigned to the attribute is a character, string_length is the length
of that character string. If value_pointer is NULL, string_length is
not returned. If value_pointer is an integer, string_length is
ignored.
SQLSetEnvAttr() は SQL_SUCCESS 、 SQL_INVALID_HANDLE 、 SQL_ERROR または SQL_SUCCESS_WITH_INFO を返します。
アプリケーションは接続ハンドルを割り当てる前に SQLSetEnvAttr() を呼び出さなければなりません。環境属性に適用されるすべての値は、接続のために SQLFreeHandle() が呼び出されるまで持続します。ODBCバージョン3.xでは、複数の環境ハンドルを同時に割り当てることができます。
次の表は、 SQLSetAttr() で設定できる環境属性の一覧です。
属性 |
Value_pointerタイプ |
制限? |
|---|---|---|
SQL_ATTR_ODBC_VERSION |
32ビット整数 |
アプリケーションがSQLHENV引数を含む関数を呼び出す前に、この属性を設定してください。 |
SQL_ATTR_OUTPUT_NTS |
32ビット整数 |
デフォルトはSQL_TRUEです。この属性をSQL_FALSEに設定する呼び出しは、SQL_ERROR/SQLSTATEHYC00(機能は実装されていません)を返します。 |
ステートメント属性¶
ODBCの SQLGetStmtAttr() および SQLSetStmtAttr() 関数を使用して、ステートメント属性の値を取得および設定できます。
SQLGetStmtAttr()¶
SQLGetStmtAttr() 関数はステートメント属性の現在の値を返します。署名は次のとおりです。
SQLRETURN SQLGetConnectAttr
(
SQLHDBC *stmt_handle,* //Input
SQLINTEGER *attribute,* //Input
SQLPOINTER *value_ptr,* //Output
SQLINTEGER *buffer_length,* //Input
SQLINTEGER \*\ *string_length_pointer* //Output
);
stmt_handle
ステートメントハンドル
attribute
attribute は属性値です
value_pointer
attribute の値を受け取るメモリ内の場所へのポインタ。
buffer_length
If the attribute is defined by ODBC, buffer_length is the length of
value_pointer (if value_pointer points to a character string or
binary buffer). If value_pointer points to an integer, buffer_length
is ignored.
If EDB-ODBC defines the attribute, the application sets the
buffer_length parameter. buffer_length can be:
値のタイプ |
意味 |
|---|---|
文字列 |
文字列の長さ |
バイナリバッファ |
SQL_LEN_BINARY_ATTR(長さ)の結果 |
固定長データ型 |
SQL_IS_INTEGERまたはSQL_IS_UINTEGER |
その他のタイプ |
SQL_IS_POINTER |
string_length_pointer
要求された値を保持するために必要なバイト数を受け取る SQLINTEGER へのポインタ。 value_pointer がNULLの場合、 string_length_pointer は返されません。
この関数は、 SQL_SUCCESS 、 SQL_SUCCESS_WITH_INFO 、 SQL_ERROR 、または SQL_INVALID_HANDLE を返します。
次の表に、EDB-ODBCでサポートされているステートメント属性を示します。
属性 |
サポートされていますか? |
制限? |
|---|---|---|
SQL_ATTR_APP_PARAM_DESC |
はい |
|
SQL_ATTR_APP_ROW_DESC |
はい |
|
SQL_ATTR_ASYNC_ENABLE |
番号 |
|
SQL_ATTR_CONCURRENCY |
はい |
SQL_CONCUR_READ_ONLY |
SQL_ATTR_CURSOR_SCROLLABLE |
はい |
|
SQL_ATTR_CURSOR_TYPE |
はい |
SQL_CURSOR_FORWARD_ONLY |
SQL_ATTR_CURSOR_SENSITIVITY |
はい |
SQL_INSENSITIVE |
SQL_ATTR_ENABLE_AUTO_IPD |
番号 |
|
SQL_ATTR_FETCH_BOOKMARK_PTR |
はい |
|
SQL_ATTR_IMP_PARAM_DESC |
はい |
|
SQL_ATTR_IMP_ROW_DESC |
はい |
|
SQL_ATTR_KEYSET_SIZE |
番号 |
|
SQL_ATTR_MAX_LENGTH |
番号 |
|
SQL_ATTR_MAX_ROWS |
番号 |
|
SQL_ATTR_METADATA_ID |
はい |
|
SQL_ATTR_NOSCAN |
番号 |
|
SQL_ATTR_PARAM_BIND_OFFSET_PTR |
はい |
ODBCV2.0 |
SQL_ATTR_PARAM_BIND_TYPE |
はい |
|
SQL_ATTR_PARAM_OPERATION_PTR |
はい |
|
SQL_ATTR_PARAM_STATUS_PTR |
はい |
|
SQL_ATTR_PARAMS_PROCESSED_PTR |
はい |
|
SQL_ATTR_PARAMSET_SIZE |
はい |
|
SQL_ATTR_QUERY_TIMEOUT |
番号 |
|
SQL_ATTR_RETRIEVE_DATA |
番号 |
|
SQL_ATTR_ROW_BIND_OFFSET_PTR |
はい |
|
SQL_ATTR_ROW_BIND_TYPE |
番号 |
|
SQL_ATTR_ROW_NUMBER |
はい |
|
SQL_ATTR_ROW_OPERATION_PTR |
はい |
|
SQL_ATTR_ROW_STATUS_PTR |
はい |
|
SQL_ATTR_ROWS_FETCHED_PTR |
はい |
|
SQL_ATTR_ROW_ARRAY_SIZE |
はい |
|
SQL_ATTR_SIMULATE_CURSOR |
番号 |
|
SQL_ATTR_USE_BOOKMARKS |
はい |
|
SQL_ROWSET_SIZE |
はい |
。生::ラテックス
/新しいページ
SQLSetStmtAttr()¶
SQLSetStmtAttr() 関数を使用して、環境属性の値を設定できます。署名は次のとおりです。
SQLRETURN SQLSetStmtAttr
(
SQLHENV *stmt_handle*, //Input
SQLINTEGER *attribute*, //Input
SQLPOINTER *value_pointer*, //Input
SQLINTEGER *string_length* //Input
);
stmt_handle
*stmt_handle*は環境ハンドルです。
attribute
attribute は値を設定したいステートメント属性を識別します。
value_pointer
value_pointer is a pointer to the location in memory that holds the
value that will be assigned to the attribute. value_pointer can be a
pointer to:
nullで終了する文字列
バイナリバッファ
ドライバーによって定義された値
タイプ
SQLLEN、SQLULEN、またはSQLUSMALLINTの値
値ポインターは、オプションで以下の値のいずれかを保持することもできます。
ODBC記述子ハンドル
SQLUINTEGERの値SQLULENの値符号付き整数(属性がドライバー固有の値の場合)
string_length
If attribute is defined by ODBC and value_pointer points to a binary
buffer or character string, string_length is the length of
value_pointer. If value_pointer points to an integer,
string_length is ignored.
If EDB-ODBC defines the attribute, the application sets the
string_length parameter. Possible string_length values are:
値のタイプ |
意味 |
|---|---|
文字列 |
文字ストリングまたはSQL_NTSの長さ |
バイナリバッファ |
SQL_LEN_BINARY_ATTR(長さ)の結果 |
固定長データ型 |
SQL_IS_INTEGERまたはSQL_IS_UINTEGER |
その他のタイプ |
SQL_IS_POINTER |
エラー処理¶
このガイドで言及されているODBC関数の診断情報は、ODBC SQLGetDiagRec() 関数を介して取得できます。
SQLGetDiagRec()¶
SQLGetDiagRec() 関数は、属性値を取得または設定するODBC関数によって書き込まれた診断レコードからステータスおよびエラー情報を返します。署名は次のとおりです。
。コードブロック::テキスト
SQLRETURNSQLGetDiagRec(
SQLSMALLINT*handle_type*、//入力
SQLHANDLE*handle*、//入力
SQLSMALLINT*record_number*、//入力
SQLCHAR//*SQLState_pointer、//出力
SQLINTEGER//*native_error_pointer、//出力
SQLCHAR//*error_text_pointer、//出力
SQLSMALLINT*buffer_length*、//入力
SQLSMALLINT/*text_length_pointer//出力
);
handle_type
handle 引数のハンドルタイプ。 handle_type は次のいずれかでなければなりません:
SQL_HANDLE_ENVは環境ハンドルを指定します。SQL_HANDLE_STMTはステートメントハンドルを指定します。SQL_HANDLE_DBCは接続ハンドルを指定します。SQL_HANDLE_DESCは記述子ハンドルを指定します。
handle
属性エラーメッセージに関連付けられたハンドル。
record_number
アプリケーションが情報を探しているステータスレコード(1以上である必要があります)。
SQLState_pointer
レコードから SQLState エラーコードを受け取るメモリバッファへのポインタ。
native_error_pointer
データソースのネイティブエラーメッセージを受け取るバッファーへのポインター( SQL_DIAG_NATIVE フィールドに含まれています)。
error_text_pointer
エラーテキストを受け取るメモリバッファーへのポインター( SQL_DIAG_MESSAGE_TEXT フィールドに含まれています)
buffer_length
error_text バッファの長さ。
text_length_pointer
Pointer to the buffer that receives the size (in characters) of the
error_text_pointer field. If the number of characters in the
error_text_pointer parameter exceeds the number available (in
buffer_length), error_text_pointer will be truncated.
SQLGetDiagRec() は SQL_SUCCESS 、 SQL_ERROR 、 SQL_INVALID_HANDLE 、 SQL_SUCCESS_WITH_DATA または SQL_NO_DATA を返します。
サポートされるODBCAPI関数¶
次の表に、ODBCAPI関数を示します。APIがEDB-ODBCドライバーでサポートされている場合、右側の列は Yes を示します。このリストの現在のバージョンを返すには、ODBC SQLGetFunctions() 関数( SQL_API_ODBC3_ALL_FUNCTIONS の関数IDを指定)を使用します。
ODBCAPI関数名 |
EDB-ODBCでサポートされていますか? |
|---|---|
SQLAllocConnect() |
はい |
SQLAllocEnv() |
はい |
SQLAllocStmt() |
はい |
SQLBindCol() |
はい |
SQLCancel() |
はい |
SQLColAttributes() |
はい |
SQLConnect() |
はい |
SQLDescribeCol() |
はい |
SQLDisconnect() |
はい |
SQLError() |
はい |
SQLExecDirect() |
はい |
SQLExecute() |
はい |
SQLFetch() |
はい |
SQLFreeConnect() |
はい |
SQLFreeEnv() |
はい |
SQLFreeStmt() |
はい |
SQLGetCursorName() |
はい |
SQLNumResultCols() |
はい |
SQLPrepare() |
はい |
SQLRowCount() |
はい |
SQLSetCursorName() |
はい |
SQLSetParam() |
はい |
SQLTransact() |
はい |
SQLColumns() |
はい |
SQLDriverConnect() |
はい |
SQLGetConnectOption() |
はい |
SQLGetData() |
はい |
SQLGetFunctions() |
はい |
SQLGetInfo() |
はい |
SQLGetStmtOption() |
はい |
SQLGetTypeInfo() |
はい |
SQLParamData() |
はい |
SQLPutData() |
はい |
SQLSetConnectOption() |
はい |
SQLSetStmtOption() |
はい |
SQLSpecialColumns() |
はい |
SQLStatistics() |
はい |
SQLTables() |
はい |
SQLBrowseConnect() |
番号 |
SQLColumnPrivileges() |
番号 |
SQLDataSources() |
はい |
SQLDescribeParam() |
番号 |
SQLExtendedFetch() |
はい |
SQLForeignKeys() |
はい |
SQLMoreResults() |
はい |
SQLNativeSQL() |
はい |
SQLNumParams() |
はい |
SQLParamOptions() |
はい |
SQLPrimaryKeys() |
はい |
SQLProcedureColumns() |
はい |
SQLProcedures() |
はい |
SQLSetPos() |
はい |
SQLSetScrollOptions() |
番号 |
SQLTablePrivileges() |
はい |
SQLDrivers() |
はい |
SQLBindParameter() |
はい |
SQLAllocHandle() |
はい |
SQLBindParam() |
はい |
SQLCloseCursor() |
はい |
SQLColAttribute() |
はい |
SQLCopyDesc() |
はい |
SQLendTran() |
はい |
SQLFetchScroll() |
はい |
SQLFreeHandle() |
はい |
SQLGetConnectAttr() |
はい |
SQLGetDescField() |
はい |
SQLGetDescRec() |
はい |
SQLGetDiagField() |
はい |
SQLGetDiagRec() |
はい |
SQLGetEnvAttr() |
はい |
SQLGetStmtAttr() |
はい |
SQLSetConnectAttr() |
はい |
SQLSetDescField() |
はい |
SQLSetDescRec() |
番号 |
SQLSetEnvAttr() |
はい |
SQLSetStmtAttr() |
はい |
SQLBulkOperations() |
はい |
サポートされているデータ型¶
EDB-ODBCは、次のODBCデータ型をサポートしています。
ODBCデータ型 |
対応するAdvancedServerデータ型 |
|---|---|
SQL_BIGINT |
PG_TYPE_INT8 |
SQL_BINARY |
PG_TYPE_BYTEA |
SQL_BIT |
PG_TYPE_BOOLまたはPG_TYPE_CHAR |
SQL_CHAR |
PG_TYPE_BPCHAR |
SQL_TYPE_DATE |
PG_TYPE_DATE |
SQL_DECIMAL |
PG_TYPE_NUMERIC |
SQL_DOUBLE |
PG_TYPE_FLOAT8 |
SQL_FLOAT |
PG_TYPE_FLOAT8 |
SQL_INTEGER |
PG_TYPE_INT4 |
SQL_LONGVARBINARY |
PG_TYPE_BYTEA |
SQL_LONGVARCHAR |
PG_TYPE_VARCHARまたはPG_TYPE_TEXT |
SQL_NUMERIC |
PG_TYPE_NUMERIC |
SQL_NUMERIC |
PG_TYPE_NUMERIC |
SQL_REAL |
PG_TYPE_FLOAT4 |
SQL_SMALLINT |
PG_TYPE_INT2 |
SQL_TYPE_TIME |
PG_TYPE_TIME |
SQL_TYPE_TIMESTAMP |
PG_TYPE_DATETIME |
SQL_TINYINT |
PG_TYPE_INT2 |
SQL_VARBINARY |
PG_TYPE_BYTEA |
SQL_VARCHAR |
PG_TYPE_VARCHAR |
スレッドセーフティ¶
EDB-ODBCはスレッドセーフです。