Hitachi

Hitachi Advanced Data Binder AP開発ガイド


16.4.5 SQLGetTypeInfo,SQLGetTypeInfoW

〈この項の構成〉

(1) 機能

HADB ODBCドライバがサポートしているデータ型に関する情報をSQL文の結果セットの形式で返します。

(2) 形式

(3) 引数

StatementHandle

ステートメントハンドルを指定します。

DataType

SQLデータ型識別子を指定します。取得したいデータによって次の値を指定します。

  • 個別のデータ型に関する情報を取得する場合

    15.3.1 ODBCのSQLデータ型とHADBのデータ型の対応」に記載されているODBC SQLデータ型識別子を指定します。

  • サポートしているすべてのデータ型に関する情報を取得する場合

    SQL_ALL_TYPESを指定します。

(4) 戻り値

SQL_SUCCESSSQL_ERROR,またはSQL_INVALID_HANDLEが返されます。

SQLGetTypeInfoまたはSQLGetTypeInfoWを実行すると結果セットが作成されます。返却される結果セットの形式を次に示します。

表16‒4 返却されるResultSetオブジェクトの形式

列番号

列名

列の意味

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

大文字と小文字を区別するかどうかを返します。

  • SQL_TRUE:文字列系データ型

  • SQL_FALSE:そのほかのデータ型

9

Smallint

SEARCHABLE

WHEREでデータ型がどのように使われるかを返します。

常にSQL_SEARCHABLEを返します。

10

Smallint

UNSIGNED_ATTRIBUTE

符号なし属性かどうかを返します。

  • SQL_FALSE:数値データ型(符号ありのため)

  • ナル値:そのほかのデータ型

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

  • 10:数値データ型

  • ナル値:そのほかのデータ型

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です。

−:なし。