MDAC 2.5 SDK - OLE DB Providers
OLE DB Provider for ODBC
The following sections discuss how the ODBC Provider implements some interfaces.
DBCOLUMNFLAGS_MAYDEFER
DBCOLUMNFLAGS_WRITE
DBCOLUMNFLAGS_CACHEDEFERRED
DBCOLUMN_COLLATINGSEQUENCE
DBCOLUMN_COMPUTEMODE
DBCOLUMN_DEFAULTVALUE
DBCOLUMN_DOMAIN
DBCOLUMN_HASDEFAULT
DBCOLUMN_ISUNIQUE.
DBPARAMFLAGS_ISSIGNED
DBPARAMFLAGS_ISINPUT
DBPARAMFLAGS_ISOUTPUT
The last two of the above flags can be set for stored procedures against SQL Server.
The ODBC Provider returns any driver-specific columns that the ODBC driver returns in SQLColumns. This information is returned in columns beyond those described in the OLE DB specification.
These additional columns include:
ORDINAL, which is returned by the Microsoft® Access ODBC driver.
ss_data_type and colid, which are returned by the Microsoft SQL Server 6.0 ODBC driver.
"COLUMN_DEF", "SQL_DATA_TYPE", "SQL_DATETIME_SUB", "CHAR_OCTET_LENGTH", "ORDINAL_POSITION", "IS_NULLABLE", and "SS_DATA_TYPE", which are returned by the Microsoft SQL Server 6.5 ODBC driver.
In deferred update mode, when a row's update fails, this provider does not release any of the ISequentialStream pointers due to the lack of knowledge about which pointers have and have not been read. The row is in an unknown state. If the consumer attempts to update again, failure might occur. Because responsibility for a reference on these failed interfaces still exists, this provider releases them in the following cases:
Interface pointers are always released if the back-end updates succeed.