Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


13.5.1 ODBC関数とHiRDBとのデータ型の対応

ODBC関数とサーバ上のHiRDBとのデータ型の対応を次の表に示します。

なお,ODBC関数のデータ型とは,ODBC関数のアーギュメントに指定するSQLデータ型のことです。

表13‒7 ODBC関数とHiRDBとのデータ型の対応

分 類

ODBCのデータ型

HiRDBのデータ型

説  明

可否

文字データ

SQL_CHAR

CHAR(n)

固定長文字列

SQL_VARCHAR

VARCHAR(n)

可変長文字列

SQL_LONGVARCHAR

VARCHAR(n)

可変長文字列

SQL_CHAR

NCHAR(n)

固定長各国文字列

NATIONAL CHARACTER(n)

SQL_VARCHAR

NVARCHAR(n)

可変長各国文字列

SQL_CHAR

MCHAR(n)

固定長混在文字列

SQL_VARCHAR

MVARCHAR(n)

可変長混在文字列

数データ

SQL_DECIMAL

DEC[IMAL](p,s)

固定小数点数

精度(全体のけた数)=p,

位取り(小数点以下のけた数)=s

1≦p≦15,0≦s≦p

SQL_NUMERIC

×

SQL_SMALLINT

SMALLINT

値の範囲が-32768〜32767の整数

SQL_INTEGER

INTEGER

値の範囲が-2147483648〜2147483647の整数

SQL_TINYINT

-256〜255の整数

×

SQL_BIGINT

1けたの符号と19けたの整数

×

SQL_REAL

SMALLFLT,REAL

単精度浮動小数点数

SQL_FLOAT

FLOAT,

DOUBLE PRECISION

倍精度浮動小数点数

SQL_DOUBLE

FLOAT,

DOUBLE PRECISION

倍精度浮動小数点数

SQL_BIT

ビット

×

SQL_BINARY

固定長バイナリデータ

×

SQL_LONGVARBINARY

BINARY(n)

可変長バイナリデータ

SQL_LONGVARBINARY

BLOB

可変長バイナリデータ

日付,時刻データ

SQL_TYPE_DATE

DATE

日付

SQL_TYPE_TIMESTAMP

TIMESTAMP

日付/時刻

SQL_TYPE_TIME

TIME

時刻

INTERVAL YEAR TO DAY

日間隔

×

SQL_INTERVAL_HOUR_TO_SECOND

INTERVAL HOUR TO SECOND

時間隔

ユーザ定義型

抽象データ型

抽象データ型

×

(凡例)

−:ODBCにはないデータ型を示します。

○:使用できます。

×:使用できません。

データ型の最大文字列長,及び値の範囲については,マニュアル「HiRDB SQLリファレンス」を参照してください。

注※

サーバ上のデータベースのデータ型がそのまま通知されます。

〈この項の構成〉

(1) ODBC関数で使用できる機能

ODBC関数を利用したUAPからサーバ上のHiRDBにアクセスする場合,使用できる機能が一部制限されます。使用できる機能を次の表に示します。

表13‒8 使用できる機能

機  能

使用可否

スペシャルカラム情報の取得

インデクス情報の取得

日付,時刻データ型の使用

※1

繰返し列の使用

×※3

配列列の使用

表ヘッダ,列ヘッダの取得

非同期処理

×

LIKEのエスケープ文字の使用

更新行数の取得

LOGINタイムアウト時間設定

×

日本語データ型の使用

※2

定義系SQLの実行

(凡例)

○:使用できます。

×:使用できません。

−:DBMSに機能がありません。

注※1

INTERVAL YEAR TO DAYは使用できません。

注※2

データベースのデータ型がそのまま通知されます。

注※3

繰返し列,?パラメタが繰返し構造でない単純構造の場合,アクセスはできます。

(例) T1の列C1が繰返し列の場合

SELECT C1[1],C1[2] FROM T1        … ○
SELECT C1 FROM T1                 … ×
INSERT INTO T1 VALUES(ARRAY[?,?]) … ○
INSERT INTO T1 VALUES(?)          … ×
 
(凡例)
 ○:アクセスできます。
 ×:アクセスできません。

(2) カーソルを使用した更新,又は削除する場合の設定

SQLGetCursorNameは,SQLSetCursorNameによってユーザが設定したカーソル名(ユーザカーソル名)を取得します。ユーザが設定しない場合に,システムが設定するカーソルは取得できません。そのため,カーソルを使った更新,又は削除は,ユーザカーソル名を設定する必要があります。

(3) ドライバオプションの設定

SQLSetConnectOption関数,及びSQLGetConnectOption関数で設定する項目に制限があります。項目の設定可否を次の表に示します。

表13‒9 SQLSetConnectOption関数,SQLGetConnectOption関数の設定可否

fOption

設定可否

SQL_ACCESS_MODE

SQL_MODE_READ_WRITE

SQL_AUTOCOMMIT

SQL_AUTOCOMMIT_OFF

又はSQL_AUTOCOMMIT_ON

SQL_LOGIN_TIMEOUT

SQL_TRANSLATE_DLL

SQL_TRANSLATE_OPTION

SQL_TXN_ISOLATION

(凡例)−:設定できません。