metricsign
Start free
Medium severitydata integrity

Power BI Refresh Error:
8114

What does this error mean?

SQL Server cannot convert a value from one data type to another due to an incompatible format or out-of-range value.

Common causes

  • 1A stored procedure parameter is passed the wrong data type from ADF
  • 2An implicit cast between incompatible types fails at runtime (e.g. datetime string in wrong format)
  • 3Source data contains a value outside the range of the target type (e.g. year 9999 into SMALLDATETIME)

How to fix it

  1. 1Step 1: Identify the source and target types from the error message (e.g. 'nvarchar to datetime'). Run the offending value through TRY_CONVERT: SELECT TRY_CONVERT(datetime, 'your_value');
  2. 2Step 2: In ADF, add a Derived Column transformation to explicitly cast with the correct format: toTimestamp(col, 'yyyy-MM-dd HH:mm:ss').
  3. 3Step 3: Standardize date formats at the source, or use CONVERT with a style code: CONVERT(datetime, '2026-04-25', 120).

Frequently asked questions

How does TRY_CONVERT differ from CONVERT?

TRY_CONVERT returns NULL if the conversion fails, instead of raising error 8114. Use it to safely identify bad rows: SELECT col FROM table WHERE TRY_CONVERT(int, col) IS NULL AND col IS NOT NULL;

Why does 8114 happen in stored procedure calls from ADF?

ADF sends parameter values as strings unless explicitly typed. If a stored procedure expects DATETIME and ADF sends a string in the wrong format, SQL Server raises 8114 during implicit conversion.

Can I avoid implicit conversion errors with explicit parameter types in ADF?

Yes — in ADF's stored procedure activity, set the parameter type explicitly (e.g. DateTime) rather than String to avoid implicit conversion at the SQL Server level.

Official documentation: https://learn.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-events-and-errors

Other data integrity errors