Data Type Mappings in OLE DB Scanner
From Meta Data Services Programming
Meta Data Services Programming
Data Type Mappings in OLE DB Scanner
Each OLE DB column has an enumerated indicator that must be mapped to a DBMS data type instance. These instances, which are implemented by a class that supports the IDbmDBMSDataType interface, are created using the following mapping table and are assigned to columns using the PROVIDER_TYPES rowset.
| OLE DB type indicator | Repository mapping | Remarks |
|---|---|---|
| DBTYPE_EMPTY | DbmDBMSDataType | None |
| DBTYPE_NULL | DbmDBMSDataType | None |
| DBTYPE_RESERVED | DbmDBMSDataType | None |
| DBTYPE_I1 | DbmTinyInt | None |
| DBTYPE_I2 | DbmSmallInt | None |
| DBTYPE_I4 | DbmInteger | None |
| DBTYPE_I8 | DbmQuadInt | None |
| DBTYPE_UI1 | DbmTinyInt | OLE DB Scanner sets IDtmNumeric.IsSigned to False |
| DBTYPE_UI2 | DbmSmallInt | OLE DB Scanner sets IDtmNumeric.IsSigned to False |
| DBTYPE_UI4 | DbmInteger | OLE DB Scanner sets IDtmNumeric.IsSigned to False |
| DBTYPE_UI8 | DbmQuadInt | OLE DB Scanner sets IDtmNumeric.IsSigned to False |
| DBTYPE_R4 | DbmReal | OLE DB Scanner sets IDtmNumeric.IsSigned to True |
| DBTYPE_R8 | DbmDouble | OLE DB Scanner sets IDtmNumeric.IsSigned to True |
| DBTYPE_CY | DbmMoney | None |
| DBTYPE_DECIMAL | DbmDecimal | OLE DB Scanner sets IDtmNumeric.IsSigned to True |
| DBTYPE_NUMERIC | DbmNumeric | OLE DB Scanner sets IDtmNumeric.IsSigned to True |
| DBTYPE_DATE | DbmDate | None |
| DBTYPE_BOOL | DbmBit | None |
| DBTYPE_BYTES | DbmBinary or DbmVarBinary | If IsVariable is set to True, OLE DB Scanner uses DbmVarBinary and sets IDtmBinary.IsVariable and IDtmBinary.Length to True |
| DBTYPE_BSTR | DbmDBMSDataType | OLE DB Scanner sets IDtmString.Length and IDtmString.IsVariable to True |
| DBTYPE_STR | DbmChar or DbmVarChar | If IsVariable is set to True, OLE DB Scanner uses DbmVarChar and sets IDtmString.IsVariable and IDtmString.Length to True |
| DBTYPE_WSTR | DbmNChar or DbmNVarChar | If IsVariable is set to True, OLE DB Scanner uses DbmVarChar and sets CharacterType equal to DTM_CHARACTER_TYPE_ UNICODE and IDtmString.IsVariable and IDtmString.Length to True |
| DBTYPE_VARIANT | DbmDBMSDataType | None |
| DBTYPE_IDISPATCH | DbmDBMSDataType | None |
| DBTYPE_IUNKNOWN | DbmDBMSDataType | None |
| DBTYPE_GUID | DbmDBMSDataType | None |
| DBTYPE_ERROR | DbmDBMSDataType | None |
| DBTYPE_BYREF | DbmDBMSDataType | None |
| DBTYPE_ARRAY | DbmDBMSDataType | None |
| DBTYPE_VECTOR | DbmDBMSDataType | None |
| DBTYPE_UDT | DbmDBMSDataType | None |
| DBTYPE_DBDATE | DbmDate | None |
| DBTYPE_DBTIME | DbmTime | None |
| DBTYPE_DBTIMESTAMP | DbmTimeStamp | None |