ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

2.4.1 データ型の概要

JDBCドライバを利用するアプリケーションからデータベースにアクセスする場合、利用者はSQLのデータ型を意識したアプリケーション作りをする必要があります。

Symfoware ServerのSQLのデータ型に対応するJavaのデータ型を以下の表に示します。

表2.6 Symfoware ServerのSQLのデータ型と対応するJavaのデータ型

分類

Symfoware Server のSQLのデータ型

Javaのデータ型

参照先

真数型

SMALLINT

short
boolean
byte
java.lang.Object

2.4.2.1 Symfoware ServerのSMALLINT型

INTEGER

int
java.lang.Object

2.4.2.2 Symfoware ServerのINTEGER型

NUMERIC

java.math.BigDecimal
long
java.lang.Object

2.4.2.3 Symfoware ServerのNUMERIC型およびDECIMAL型

DECIMAL

概数型

REAL

float
java.lang.Object

2.4.2.4 Symfoware ServerのREAL型

FLOAT(p)  p=1~23

FLOAT(p)  p=24~52

double
java.lang.Object

2.4.2.5 Symfoware ServerのDOUBLE型

DOUBLE PRECISION

日時型

DATE

java.sql.Date
java.lang.Object

2.4.2.7 Symfoware ServerのDATE型

TIME

java.sql.Time
java.lang.Object

2.4.2.8 Symfoware ServerのTIME型

TIMESTAMP

java.sql.Timestamp
java.lang.Object

2.4.2.9 Symfoware ServerのTIMESTAMP型

文字列型

CHARACTER

String
java.sql.Clob
java.net.URL
java.lang.Object
java.io.Reader

2.4.2.10 Symfoware ServerのCHAR型およびVARCHAR型

VARCHAR

各国語

文字列型

NCHAR

String
java.lang.Object

2.4.2.11 Symfoware ServerのNCHAR型およびNCHAR VARYING型

NCHAR VARYING

BLOB型

BLOB

byte[]
java.sql.Blob
java.lang.Object

2.4.2.12 Symfoware ServerのBLOB型

SQL ROWID型

ROW_ID

java.sql.RowId
java.lang.Object

2.4.2.13 Symfoware ServerのROW_ID型

時間隔型

INTERVAL YEAR TO MONTH

未サポート

  

INTERVAL YEAR

INTERVAL MONTH

INTERVAL DAY TO HOUR

INTERVAL DAY TO MINUTE

INTERVAL DAY TO SECOND

INTERVAL DAY

INTERVAL HOUR TO MINUTE

INTERVAL HOUR TO SECOND

INTERVAL HOUR

INTERVAL MINUTE TO SECOND

INTERVAL MINUTE

INTERVAL SECOND

Javaアプリケーションでは、ResultSetMetaDataのgetColumnTypesメソッドでSymfoware ServerのSQLのデータ型を取得したり、CallableStatementのregisterOutParameterメソッドでSymfoware ServerのSQLのデータ型を指定する場合があります。

SQLのデータ型を識別する値はjava.sql.Typesで規定されています。Symfoware ServerのSQLのデータ型に対応するjava.sql.Typesの値を以下の表に示します。

表2.7 Symfoware ServerのSQLのデータ型と対応するjava.sql.Types

分類

Symfoware Server のSQLのデータ型

java.sql.Typesで規定されるデータ型

真数型

SMALLINT

java.sql.Types.SMALLINT(推奨)
java.sql.Types.BIT
java.sql.Types.TINYINT
java.sql.Types.JAVA_OBJECT

INTEGER

java.sql.Types.INTEGER(推奨)
java.sql.Types.JAVA_OBJECT

NUMERIC

java.sql.Types.NUMERIC(推奨)
java.sql.Types.JAVA_OBJECT

java.sql.Types.BIGINT
java.sql.Types.JAVA_OBJECT

DECIMAL

java.sql.Types.DECIMAL(推奨)
java.sql.Types.JAVA_OBJECT
java.sql.Types.BIGINT

概数型

REAL

java.sql.Types.REAL(推奨)
java.sql.Types.FLOAT
java.sql.Types.JAVA_OBJECT

FLOAT(p)  p=1~23

FLOAT(p)  p=24~52

java.sql.Types.DOUBLE(推奨)
java.sql.Types.JAVA_OBJECT

DOUBLE PRECISION

日時型

DATE

java.sql.Types.DATE(推奨)
java.sql.Types.JAVA_OBJECT

TIME

java.sql.Types.TIME(推奨)
java.sql.Types.JAVA_OBJECT

TIMESTAMP

java.sql.Types.TIMESTAMP(推奨)
java.sql.Types.JAVA_OBJECT

文字列型

CHARACTER

java.sql.Types.CHAR(推奨)
java.sql.Types.JAVA_OBJECT
java.sql.Types.CLOB
java.sql.Types.DATALINK

VARCHAR

java.sql.Types.VARCHAR(推奨)
java.sql.Types.LONGVARCHAR
java.sql.Types.JAVA_OBJECT
java.sql.Types.CLOB
java.sql.Types.DATALINK

各国語
文字列型

NCHAR

java.sql.Types.CHAR(推奨)
java.sql.Types.JAVA_OBJECT

NCHAR VARYING

java.sql.Types.VARCHAR(推奨)
java.sql.Types.LONGVARCHAR
java.sql.Types.JAVA_OBJECT

BLOB型

BLOB

java.sql.Types.BINARY(推奨)
java.sql.Types.VARBINARY
java.sql.Types.LONGVARBINARY
java.sql.Types.JAVA_OBJECT
java.sql.Types.BLOB

SQL ROWID型

ROW_ID

java.sql.Types.ROWID(推奨)
java.sql.Types.JAVA_OBJECT

時間隔型

INTERVAL YEAR TO MONTH

未サポート

INTERVAL YEAR

INTERVAL MONTH

INTERVAL DAY TO HOUR

INTERVAL DAY TO MINUTE

INTERVAL DAY TO SECOND

INTERVAL DAY

INTERVAL HOUR TO MINUTE

INTERVAL HOUR TO SECOND

INTERVAL HOUR

INTERVAL MINUTE TO SECOND

INTERVAL MINUTE

INTERVAL SECOND

注意

JDBCドライバとしては対応しているデータ型であってもSymfoware Serverが対応していない場合があります。