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 |