| Previous | Next |
| DB_E_PENDINGINSERT | DB_E_BADPARAMETERNAME |
DB_E_BADCONVERTFLAG
Meaning
Windows documents DB_E_BADCONVERTFLAG as “Conversion flag is invalid”. In this case, a conversion-capability or data-transfer call receives a conversion flag value outside the OLE DB contract.
Conditions that specifically lead to the result
- Cause 1: unknown DBCONVERTFLAGS bits are set.
- Cause 2: flags from another API are passed through unchanged.
- Cause 3: a combined flag set is valid only for a different conversion direction.
Relevant contract
Accessors are created on a specific command or rowset and encode direction, purpose, bound parts and buffer ownership. A valid HACCESSOR on one object is not interchangeable with a parameter accessor, a readable row accessor or an accessor created for another generation.
Investigation of this result should start with the object that created the accessor, its DBACCESSORFLAGS and every DBBINDING entry.
Diagnostic sequence
- Identify the exact failing stage: a conversion-capability or data-transfer call receives a conversion flag value outside the OLE DB contract.
Evidence to collect
When recording diagnostic data involving parameter values, row values and provider-owned storage pointers, use types, lengths, hashes or redacted identifiers rather than secrets or complete business data.
- Evidence 1: the full flag mask in hexadecimal.
- Evidence 2: source and destination DBTYPE values.
- Evidence 3: the interface and provider capability query receiving the flags.
Corrective actions
- Action 1: mask flags to the documented OLE DB enumeration.
- Action 2: derive flags from the exact conversion direction.
- Action 3: test provider-specific extensions before using them.
Practical scenario
A generic converter forwards COM VARIANT flags to IConvertType; using DBCONVERTFLAGS removes it.
Retry and recovery
Retry rule: retry after replacing the flag mask with a documented supported value.
Difference from nearby HRESULT values
DB_E_UNSUPPORTEDCONVERSION means a valid conversion route is unavailable, while DB_E_BADCONVERTFLAG means the control flags are invalid.
Official Microsoft references
Looking for a different code? Search another status or error code.
