Data Types
Several VuGen functions, such as lrd_bind_col and Ird_bind_placeholder, require you to specify a data type. For additional information about data types, see the lrdtypes.h file supplied with VuGen. VuGen supports the following types:
Data Type | Code | Meaning |
DT_VARRAW | 0x01 | Variable length binary |
DT_VARCHAR | 0x02 | Variable length text |
DT_RAW | 0x03 | Fixed-length binary |
DT_SZ | 0x04 | Null-terminated variable-length string |
DT_INT1 | 0x05 | 1-byte signed integer |
DT_BIT | 0x06 | 1-byte unsigned integer |
DT_INT2 | 0x07 | 2-byte signed integer |
DT_INT4 | 0x08 | 4-byte signed integer |
DT_NUMERIC | 0x09 | Numeric values |
DT_DECIMAL | 0x0A | Decimal data (COBOL Comp-3) |
DT_MONEY | 0x0B | Money representation |
DT_DATETIME | 0x0C | Date and time representation |
DT_FLT4 | 0x0D | 4-byte floating point number |
DT_FLT8 | 0x0E | 8-byte floating point number |
DT_MONEY4 | 0x0F | Money representation in short format |
DT_DATETIME4 | 0x10 | Date and time in short format |
DT_UINT1 | 0x14 | 1-byte unsigned integer |
DT_UINT2 | 0x15 | 2-byte unsigned integer |
DT_UINT4 | 0x16 | 4-byte unsigned integer |
DT_SF | 0x17 | Fixed length string of character data |
DT_SFZ | 0x18 | Fixed length null-terminated string |
DT_VARNUM | 0x19 | Numeric values preceded by 1-byte length |
DT_SF_STRIPPED_SPACES | 0x1A | Variable length string with trailing blank stripping |
DT_LONG_CHAR | 0x1B | Long fixed length string |
DT_LONG_RAW | 0x1C | Long fixed length binary data |
DT_LONG_VARCHAR | 0x1D | Long variable length text |
DT_LONG_VARRAW | 0x1E | Long variable length binary data |
DT_DISPLAY | 0x1F | COBOL numeric character string |
DT_ROWID | 0x20 | Unique ID of a database table row |
DT_MLSLABEL | 0x21 | Operating system label |
DT_SHORT_INT | 0x22 | Short signed integer |
DT_INT | 0x23 | Signed integer |
DT_LONG_INT | 0x24 | Signed long integer |
DT_FLT | 0x25 | Single precision floating point |
DT_DBL | 0x26 | Double precision floating point |
ST_SZ_STRIPPED_SPACES | 0x27 | Null-terminated variable length string |
DT_DATE | 0x28 | Date representation (no time) |
DT_TIME_INTERVAL | 0x29 | Time interval |
DT_LOCATOR | 0x2A | Locator |
DT_FILE | 0x2B | File |
DT_SFN | 0x2C | Null-padded fixed length character string |
DT_SFNZ | 0x2D | Fixed length null-terminated character string |
DT_TIME | 0x2E | Time representation (no date) |
DT_SQL_DATE | 0x2F | Reserved - currently not in use |
DT_SQL_TIME | 0x30 | Reserved - currently not in use |
DT_SQL_TIMESTAMP | 0x31 | Reserved - currently not in use |
DT_LONG_SZ | 0x32 | Null-terminated variable length string |
DT_LONG_SFZ | 0x33 | Null-terminated fixed length string |
DT_LONG_SFN | 0x35 | Null-padded fixed length character string |
DT_CURSOR | 0x36 | Cursor |
DT_SINT1 | 0x37 | 1-byte signed integer (SQL_C_STINYINT in ODBC) |
DT_SINT2 | 0x38 | 2-byte signed integer (SQL_C_SSHORT in ODBC) |
DT_SINT4 | 0x39 | 4-byte signed integer (SQL_C_SLONG in ODBC) |
DT_CINT1 | 0x3A | 1-byte signed integer (SQL_C_TINYINT in ODBC) |
DT_CINT2 | 0x3B | 2-byte signed integer (SQL_C_SHORT in ODBC) |
DT_CINT4 | 0x3C | 4-byte signed integer (SQL_C_LONG in ODBC) |
DT_FORCE_CINT1 | 0x3D | 1-byte signed integer (SQL_C_TINYINT in ODBC) |
DT_FORCE_CINT2 | 0x3E | 2-byte signed integer (SQL_C_SHORT in ODBC) |
DT_FORCE_CINT4 | 0x3F | 4-byte signed integer (SQL_C_LONG in ODBC) |
DT_OCI_DATETIME | 0x40 | Date and time (SQLT_ODT in Oracle) |
DT_OCI_CLOB | 0x41 | Character LOB descriptor (SQLT_CLOB in Oracle) |
DT_OCI_BLOB | 0x42 | Binary LOB descriptor (SQLT_BLOB in Oracle) |
DT_OCI_REFCURSOR | 0x43 | Reference cursor/ Result set (SQLT_RSET in Oracle) |
DT_GUID | 0x44 | GUID structure (SQL_C_GUID in ODBC) |
DT_OCI_ROWID | 0x45 | Unique handle ID of a database table row (SQLT_RDD in Oracle) |
All the "FORCE" data types are for cases where the ODBC driver does not support the new signed type, SQL_C_Sxxx. In such a case, force it to use the old type - SQL_C_xxx.