Almanac
Microsoft/power-biPower Platform

Consultant KB for Microsoft Power BI: semantic models, DAX and modelling, Power Query and dataflows, reports and visuals, the service and workspaces, capacity and performance, embedding and integration, governance and security, ALM and deployment, and licensing, plus cross-cutting decision guides. Scoped to Power BI, with Microsoft Fabric covered where it touches Power BI directly. Implementation notes, configuration decisions and the gotchas that bite on real projects. Populated by the daily author agent from the Power BI release plans, docs repo and product blog, plus the author's own consultant notes.

feature-adbc-driver-transition.mdv1 · history
CurrentApplies to BothUpdated 17 hours agoSource Microsoft Learn

What it does

Power BI and Fabric are swapping the legacy embedded ODBC drivers behind a set of connectors for Apache Arrow Database Connectivity (ADBC) drivers. Databricks, Azure Databricks, Snowflake, Google BigQuery, Dremio, Impala and Spark all move; Hive's driver is simply deprecated with no ADBC replacement. It only affects the drivers Microsoft ships inside the product — a separately installed ODBC driver used through the generic ODBC connector is untouched.

Key facts

  • Driver selection is decided by the Implementation parameter in the M query. Implementation="2.0" forces ADBC, "1.0" forces ODBC, and an unpinned connection follows the workspace setting, which inherits from the tenant setting Users can connect to data sources by using Apache Arrow database connectivity (ADBC) in the Admin portal.
  • The tenant/workspace settings only change which driver runs. They never rewrite the M — hostnames, ports and connector arguments stay exactly as authored.
  • It applies wherever a connection is created: semantic models, Dataflows Gen2, Data Pipelines and paginated reports.
  • Refreshes routed through an on-premises data gateway keep using the gateway's bundled ODBC driver regardless of the tenant or workspace setting. That's by design, and it's also the only way to stay on ODBC after the service-side cutover.
  • Published timeline: tenant setting rolled out July 2026; on by default in phases from August 2026; ODBC drivers start being removed from the service late Q3 / early Q4 2026; ODBC drivers stop shipping with Power BI Desktop and the gateway in spring 2027. All "planned", all subject to rollout readiness.
  • There is no permanent opt-out. The tenant setting buys a validation window, not an exemption.
  • Power BI Desktop has no per-file toggle. An existing query stays on whatever driver it was authored against — to move it you delete the query, re-add the source and re-select the fields.
  • pq-adbc-advisor is a read-only Fabric notebook (via the Microsoft Fabric Toolbox) that scans a workspace and classifies every semantic model, dataflow and pipeline as Will fail, Needs review or Ready. It reports; it doesn't fix anything.

When to use / skip

This isn't optional, so the only real decision is when you do the work. If the tenant touches Databricks, Snowflake or BigQuery at any volume, start the inventory now — the default flip has already happened for some connectors and the service-side cutover is inside this financial year. If every in-scope connection already runs through a gateway, you have until spring 2027 rather than this autumn, which is a reprieve worth knowing about but not a plan.

Configuration decisions

  • Whether to leave the tenant setting off and pin Implementation="2.0" per connection during validation, or flip a pilot workspace and compare side by side. The workspace override exists precisely so you can do the latter.
  • Which workspace is the pilot, and whether its connections are representative — a pilot full of gateway-bound items validates nothing.
  • Whether any connection genuinely needs to stay on ODBC (a private-link path through the gateway is the usual reason) and what the exit plan is for spring 2027.
  • Who owns the re-scan cadence. The advisor tracks resolution deltas between runs, so it's only useful if someone runs it more than once.
  • What happens to Hive connections, which have no ADBC successor and need a different destination entirely.

Gotchas

  • Testing through a gateway proves nothing. Gateway-routed refreshes stay on ODBC, so a "successful" pilot refresh through the gateway has not exercised the ADBC path at all. Validate with a cloud connection.
  • A query pinned to Implementation="1.0" with no gateway binding is the one that breaks at cutover, and the pin is often something a developer added years ago to work around a bug nobody remembers.
  • Raw DSN connection strings in M aren't consumed verbatim by ADBC. The advisor flags these as Needs review rather than solving them, and they're the cases that eat the time.
  • Re-creating a query in Desktop to move it to ADBC means re-selecting the fields, which quietly resets anything downstream that depended on the original step names.
  • Hive being "Deprecated" rather than replaced is easy to skim past in the connector table.
  • The advisor sends anonymous, hashed telemetry by default. It doesn't send M, item names, endpoints or credentials, but you'll still be asked about it in a security review, so read the opt-out before the meeting rather than during it.

Consultant notes

  • Run the advisor before you quote the work. The split between Will fail and Needs review is the difference between a tidy afternoon and a fortnight of connection-by-connection testing, and you cannot guess it from the connector list.
  • Clients on a private-link gateway path will read "you can defer by routing through the gateway" as a solution. It's a deferral with a spring 2027 expiry and a pinned gateway version behind it — say so in writing the first time it comes up.
  • Row counts and column types are the comparison that matters, not refresh duration. ADBC usually gets faster; what bites is a type landing differently and a downstream measure silently changing.
  • The dates are all "planned". Build the plan around being finished before late Q3 2026 rather than around the published cutover, because advance notice is promised but not dated.

Revisit when Microsoft publishes firm per-connector cutover dates, or once ODBC removal from the gateway is confirmed for spring 2027.

Was this accurate?