スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

18.8.1 SQLデータ型のマッピング

HiRDBのSQLデータ型とJDBCのSQLデータ型は,完全には一致しません。そのため,JDBCドライバでは,JDBCのSQLデータ型と,接続するHiRDBのSQLデータ型とのマッピング(変換)を実行します。マッピングできないSQLデータ型を使用してアクセスしようとすると,SQLExceptionを投入します。なお,リトルエンディアンのHiRDBサーバに対して,JDBCのSQLデータ型にマッピングできないHiRDBのROW型を使ったSQL文を実行すると,構文エラーを示すKFPA11104-Eメッセージを含んだSQLExceptionを投入します。

SQLデータ型のマッピングは,ResultSet,PreparedStatement,CallableStatementクラスのgetXXXメソッド及びsetXXXメソッドで実行します。なお,SQLデータ型と,getXXXメソッド及びsetXXXメソッドとのマッピング規則については,JDBC1.0規格又はJDBC2.0基本規格のドキュメントを参照してください。

HiRDBとJDBCのSQLデータ型の対応を次の表に示します。

表18-65 HiRDBとJDBCのSQLデータ型の対応(Type4 JDBCドライバ)

HiRDBのSQLデータ型 JDBCのSQLデータ型
INTEGER INTEGER
SMALLINT SMALLINT
DECIMAL,NUMERIC DECIMAL(,NUMERIC)※1
FLOAT,DOUBLE PRECISION FLOAT(,DOUBLE)※1
SMALLFLT,REAL REAL
CHAR CHAR
VARCHAR VARCHAR(,LONGVARCHAR)※1
NCHAR CHAR
NVARCHAR VARCHAR(,LONGVARCHAR)※1
MCHAR CHAR
MVARCHAR VARCHAR(,LONGVARCHAR)※1
DATE DATE
TIME TIME
BLOB LONGVARBINARY(,BINARY,VARBINARY,BLOB)※1
BINARY LONGVARBINARY(,BINARY,VARBINARY,BLOB)※1
TIMESTAMP TIMESTAMP
BOOLEAN※2 BIT

注※1
()内のデータ型は,setNullメソッド,setObjectメソッド,又はregisterOutParameterメソッドの引数にJDBCのSQLデータ型を指定する場合にだけ対応します。HiRDBのSQLデータ型からJDBCのSQLデータ型へマッピングする際には対応しません。

注※2
DatabaseMetaDataのgetTypeInfoメソッドなどで生成される,ResultSetオブジェクトが持つBOOLEAN型の列を指します。