What does HRESULT 0x80040E33 (DB_E_CANTTRANSLATE) mean?

 
Previous Next
DB_E_ROWSETINCOMMAND DB_E_DUPLICATEINDEXID

DB_E_CANTTRANSLATE

Meaning

Windows documents DB_E_CANTTRANSLATE as “Current tree cannot be represented as text”. Here, the current command tree cannot be represented as command text in the requested dialect.

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.

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 requested dialect.
  • Evidence 2: the first node the provider reports as untranslatable.
  • Evidence 3: whether the tree was produced from text or built programmatically.

Specific conditions that produce it

  • Cause 1: the tree contains provider-specific nodes with no textual form.
  • Cause 2: a live object or opaque expression cannot be serialized.
  • Cause 3: the requested dialect lacks syntax for a tree feature.

Retry and recovery policy

Retry rule: retry only after changing the tree or requested dialect.

Corrective actions

  • Action 1: retain the tree as the authoritative representation when text is optional.
  • Action 2: simplify or replace unsupported nodes before translation.
  • Action 3: select a dialect that can represent the required constructs when one exists.

Practical incident

A diagnostic tool asks a provider to render a tree containing an opaque custom operator as SQL text; logging a structural summary instead avoids it.

Difference from related HRESULT values

DB_E_ERRORSINCOMMAND means textual command processing failed, while DB_E_CANTTRANSLATE means a valid tree cannot be converted into text.

Official Microsoft references


Looking for a different code? Search another status or error code.