| Previous | Next |
| DB_E_ABORTLIMITREACHED | DB_E_CANTTRANSLATE |
DB_E_ROWSETINCOMMAND
Meaning
Windows documents DB_E_ROWSETINCOMMAND as “Command object whose command tree contains a rowset or rowsets cannot be cloned”. Here, a command tree containing one or more embedded rowset objects is submitted to an operation that cannot clone such a tree.
Relevant OLE DB contract
This result must be interpreted against this contract: an OLE DB command moves through explicit states: command definition, properties and parameters are established before optional preparation and execution; dialect, query-tree and optimizer contracts are provider-specific and should be inferred only from reported capabilities.
Specific conditions that produce the result
- Cause 1: the consumer tries to clone a tree after attaching a live rowset node.
- Cause 2: a reusable command template accidentally captures an execution-time rowset.
- Cause 3: the provider cannot duplicate the state and lifetime of the embedded rowset.
Evidence to collect before changing the system
When it involves command text, parameter values, object names and query-plan details, record types, lengths, hashes or redacted identifiers instead of secrets or full business data.
- Evidence 1: the command-tree node types and locations of rowset objects.
- Evidence 2: the source rowset identities and lifetimes.
- Evidence 3: the clone or persistence method that rejected the tree.
Corrective actions
- Action 1: remove live rowsets from cloneable command templates.
- Action 2: represent reusable inputs as parameters or provider-supported table abstractions.
- Action 3: build execution-specific trees only after cloning the static portion.
Retry and recovery policy
Retry rule: retry after constructing a command tree without embedded live rowsets.
Practical incident
A query planner stores a temporary rowset inside its template and later clones it for parallel execution; parameterizing the input avoids it.
Difference from related HRESULT values
DB_E_CANTTRANSLATE concerns text representation of a tree, while DB_E_ROWSETINCOMMAND specifically blocks cloning because the tree contains rowset objects.
Official Microsoft references
Looking for a different code? Search another status or error code.
