16.4.5 SQLGetTypeInfo,SQLGetTypeInfoW
- 〈この項の構成〉
(1) 機能
HADB ODBCドライバがサポートしているデータ型に関する情報をSQL文の結果セットの形式で返します。
(2) 形式
-
SQLGetTypeInfoの場合
SQLRETURN SQLGetTypeInfo ( SQLHSTMT StatementHandle, /* In */ SQLSMALLINT DataType /* In */ )
-
SQLGetTypeInfoWの場合
SQLRETURN SQLGetTypeInfoW ( SQLHSTMT StatementHandle, /* In */ SQLSMALLINT DataType /* In */ )
(3) 引数
- StatementHandle:
-
ステートメントハンドルを指定します。
- DataType:
-
SQLデータ型識別子を指定します。取得したいデータによって次の値を指定します。
-
個別のデータ型に関する情報を取得する場合
「15.3.1 ODBCのSQLデータ型とHADBのデータ型の対応」に記載されているODBC SQLデータ型識別子を指定します。
-
サポートしているすべてのデータ型に関する情報を取得する場合
SQL_ALL_TYPESを指定します。
-
(4) 戻り値
SQL_SUCCESS,SQL_ERROR,またはSQL_INVALID_HANDLEが返されます。
SQLGetTypeInfoまたはSQLGetTypeInfoWを実行すると結果セットが作成されます。返却される結果セットの形式を次に示します。
列番号 |
型 |
列名 |
列の意味 |
---|---|---|---|
1 |
Varchar |
TYPE_NAME |
HADBデータ型名 |
2 |
Smallint |
DATA_TYPE |
ODBC SQLデータ型 |
3 |
Integer |
COLUMN_SIZE |
列サイズ |
4 |
Varchar |
LITERAL_PREFIX |
リテラルを引用するために使用する接頭辞 |
5 |
Varchar |
LITERAL_SUFFIX |
リテラルを引用するために使用する接尾辞 |
6 |
Varchar |
CREATE_PARAMS |
型の作成に使用するパラメタ |
7 |
Smallint |
NULLABLE |
ナル値を使用できるかどうかを返します。 常にSQL_NULLABLE_UNKNOWNを返します。 |
8 |
Smallint |
CASE_SENSITIVE |
大文字と小文字を区別するかどうかを返します。
|
9 |
Smallint |
SEARCHABLE |
WHEREでデータ型がどのように使われるかを返します。 常にSQL_SEARCHABLEを返します。 |
10 |
Smallint |
UNSIGNED_ATTRIBUTE |
符号なし属性かどうかを返します。
|
11 |
Smallint |
FIXED_PREC_SCALE |
通貨の値になれるかどうかを返します。 常にSQL_FALSEを返します。 |
12 |
Smallint |
AUTO_UNIQUE_VALUE |
自動インクリメントの値に使用できるかどうかを返します。 常にナル値を返します。 |
13 |
Varchar |
LOCAL_TYPE_NAME |
型名の地域対応されたバージョン 型名と同じものを返します。 |
14 |
Smallint |
MINIMUM_SCALE |
サポートされる最小スケール スケールが適用されない場合はナル値を返します。 |
15 |
Smallint |
MAXIMUM_SCALE |
サポートされる最大スケール スケールが適用されない場合はナル値を返します。 |
16 |
Smallint |
SQL_DATA_TYPE |
SQL_DESC_TYPEフィールドに設定されるODBC SQLデータ型 |
17 |
Smallint |
SQL_DATETIME_SUB |
日付時刻のサブコード 日付時刻のデータ型以外の場合はナル値を返します。 |
18 |
Integer |
NUM_PREC_RADIX |
|
19 |
Smallint |
INTERVAL_PRECISION |
常にナル値を返します。 |
(5) SQLSTATE
この関数では次のSQLSTATEを返します。
SQLSTATE |
説明 |
備考 |
返却 |
---|---|---|---|
01000 |
一般警告 |
− |
× |
01S02 |
オプション値の変更 |
× |
|
08S01 |
通信リンク失敗 |
× |
|
24000 |
無効なカーソル状態 |
× |
|
40001 |
直列化の失敗 |
× |
|
40003 |
ステートメントの完了が不明 |
× |
|
HY000 |
一般エラー |
× |
|
HY001 |
メモリ割り当てエラー |
○ |
|
HY004 |
無効なSQLデータ型 |
○ |
|
HY008 |
動作がキャンセルされた |
× |
|
HY010 |
関数シーケンスエラー |
○ |
|
HY013 |
メモリ管理エラー |
× |
|
HY117 |
接続がサスペンド中 |
× |
|
HYC00 |
オプション機能は実装されていない |
× |
|
HYT00 |
タイムアウト終了 |
× |
|
HYT01 |
接続タイムアウト終了 |
× |
|
IM001 |
ドライバはこの関数をサポートしていない |
× |
|
IM017 |
非同期ポーリングが不正 |
× |
|
IM018 |
非同期実行が未完了 |
× |
- (凡例)
-
○:HADB ODBCドライバが返すことがあるSQLSTATEです。
×:HADB ODBCドライバが返さないSQLSTATEです。
−:なし。