The DSNTEP2 and DSNUTILB batch utilities use ODBC, and therefore ODBC data types, to communicate with a DBMS. The following table shows the supported DBMS data types these utilities support. Footnotes provide additional information and/or restrictions.
ODBC Data Types | HCOSS (DB2 for z/OS) | SQL Server | DB2 LUW | Oracle | PostgreSQL |
---|---|---|---|---|---|
SQL_CHAR | CHAR | CHAR | CHAR | CHAR | CHAR |
SQL_LONG_VARCHAR | VARCHAR | VARCHAR | VARCHAR | VARCHAR2 | VARCHAR |
SQL_WCHAR | GRAPHIC 4 | NCHAR 4 | GRAPHIC 4 | NCHAR 4 | CHAR |
SQL_WVARCHAR | VARGRAPHIC 4 | NVARCHAR 4 | VARGRAPHIC 4 | NVARCHAR2 4 | VARCHAR |
SQL_BIGINT | BIGINT | BIGINT | BIGINT | NUMBER(19,0) | BIGINT |
SQL_INTEGER | INT | INT | INT | NUMBER(10,0) | INT |
SQL_SMALLINT | SMALLINT | SMALLINT | SMALLINT | NUMBER(5) | SMALLINT |
SQL_TINYINT | SMALLINT 1 | TINYINT 1 | SMALLINT 1 | NUMBER(3) 1 | SMALLINT 1 |
SQL_DOUBLE | FLOAT | FLOAT(53) | FLOAT | BINARY_DOUBLE | DOUBLE PRECISION |
SQL_REAL | REAL | REAL | REAL | BINARY_FLOAT | REAL |
SQL_DECIMAL(p,s) | DECIMAL(p,s) | DECIMAL(p,s) | DECIMAL(p,s) | NUMBER(p,s) | DECIMAL(p,s) 2 |
SQL_NUMERIC(p,s) | NUMERIC(p,s) | NUMERIC(p,s) | NUMERIC(p,s) | NUMBER(p,s) | NUMERIC(p,s) 2 |
SQL_BIT | CHAR(1) 1 | BIT 1 | CHAR(1) 1 | NUMBER(3) 1 | BOOLEAN 1 |
SQL_GUID | CHAR(36) 1 | GUID 1 | CHAR(36) 1 | CHAR(36) 1 | CHAR(36) 1 |
SQL_BINARY | BINARY | BINARY | CHAR FOR BIT DATA | RAW 1 | BYTEA 1 |
SQL_VARBINARY | VARBINARY | VARBINARY | VARCHAR FOR BIT DATA | RAW 1 | BYTEA 1 |
SQL_LONGVARBINARY | BLOB 5 | BLOB 5 | BLOB 5 | LONG RAW 5 | BYTEA 5 |
SQL_WLONGVARCHAR | CLOB 5 | CLOB 5 | CLOB 5 | LONG 5 | TEXT 5 |
SQL_DATE | DATE | DATE | DATE | DATE 3 | DATE |
SQL_TYPE_TIME | TIME | TIME | TIME | CHAR(15) 1 | TIME |
SQL_TIMESTAMP | TIMESTAMP | DATETIME2(6) | TIMESTAMP | DATE 3 | TIMESTAMP |
1 Supported in DSNTEP2 and DSNUTILB (LOAD and UNLOAD) with cited equivalent data types
2 PostgreSQL data types DECIMAL and NUMERIC are supported in DSNTEP2 and DSNUTILB (LOAD and UNLOAD) where the supported range is s <= p <= 38. 3 Oracle DATE data type has both date and time, and is supported in DSNTEP2 and DSNUTILB (LOAD and UNLOAD) 4 Supported in DSNTEP2 but unsupported in DSNUTILB (LOAD and UNLOAD) 5 Unsupported in DSNTEP2 and DSNUTILB (LOAD and UNLOAD) |