Data Type Mappings in OLE DB Scanner

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