<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ADO.NET Driver for Fabric Data Engineering (Preview) — HTTP 404 EntityNotFound in Data Engineering</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5145497#M15743</link>
    <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I've been exploring the newly released Microsoft ADO.NET Driver for Fabric Data Engineering (v1.0.0) and hit a wall that I can't explain. Posting here in case anyone else has run into this or can shed some light.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**What I'm trying to do**&lt;/P&gt;&lt;P&gt;Connect a .NET 8 console app to a Fabric Lakehouse and run Spark SQL CRUD operations via the LivyConnection, using AzureCli auth on macOS.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**The error**&lt;/P&gt;&lt;P&gt;Every connection attempt fails at session creation:&lt;/P&gt;&lt;P&gt;```&lt;BR /&gt;Microsoft.Spark.Livy.AdoNet.Common.Exceptions.LivyAdoNetException:&lt;BR /&gt;Failed to create Livy session: received null response&lt;BR /&gt;---&amp;gt; LivyClientException: HTTP 404: Not Found&lt;BR /&gt;{"errorCode":"EntityNotFound","message":"The requested resource could not be found"}&lt;BR /&gt;at FabricLivyClientImpl.CreateFabricSessionAsync(...)&lt;BR /&gt;at FabricSessionBridge.CreateSessionAsync(...)&lt;BR /&gt;at LivyConnection.OpenAsync(...)&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**What I've already ruled out**&lt;/P&gt;&lt;P&gt;This is where it gets interesting. The raw Livy API works perfectly fine.&lt;/P&gt;&lt;P&gt;When I POST directly to:&lt;BR /&gt;```&lt;BR /&gt;&lt;A href="https://api.fabric.microsoft.com/v1/workspaces/{ws_id}/lakehouses/{lh_id}/livyapi/versions/2023-12-01/sessions" target="_blank" rel="noopener"&gt;https://api.fabric.microsoft.com/v1/workspaces/{ws_id}/lakehouses/{lh_id}/livyapi/versions/2023-12-01/sessions&lt;/A&gt;&lt;BR /&gt;```&lt;BR /&gt;...I get HTTP 202 and a valid session ID back immediately. So:&lt;/P&gt;&lt;P&gt;- Auth is working (AzureCli token is valid)&lt;BR /&gt;- Workspace ID is correct (confirmed via API — lists lakehouses successfully)&lt;BR /&gt;- Lakehouse ID is correct (confirmed in the API response)&lt;BR /&gt;- The Livy API itself is reachable and functional&lt;BR /&gt;- Tested against two different Lakehouses in the same workspace — same 404 on both&lt;/P&gt;&lt;P&gt;The driver's internal `CreateFabricSessionAsync` is clearly hitting a different URL path or API version than `livyapi/versions/2023-12-01/sessions`, and that path is returning 404.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**Environment**&lt;/P&gt;&lt;P&gt;- Driver: Microsoft.Spark.Livy.AdoNet 1.0.0&lt;BR /&gt;- .NET: 8.0.42&lt;BR /&gt;- OS: macOS (Apple Silicon / M-series)&lt;BR /&gt;- Auth: AzureCli&lt;BR /&gt;- Fabric capacity: Trial&lt;BR /&gt;- Workspace region: Australia&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**My hypothesis**&lt;/P&gt;&lt;P&gt;The driver v1.0.0 may be using a different internal Livy API version string or URL structure than what's currently live on the Fabric tenant. Or there's a capacity SKU requirement (Trial vs paid F-SKU) that gates the specific endpoint the driver relies on.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**Questions**&lt;/P&gt;&lt;P&gt;1. Has anyone successfully connected using this driver? If so, what capacity type / SKU were you on?&lt;BR /&gt;2. Is there a known minimum SKU requirement for the driver's Livy session endpoint to resolve correctly?&lt;BR /&gt;3. Is the driver using a different API version internally?&lt;/P&gt;&lt;P&gt;Happy to share full logs with debug-level logging enabled if that helps narrow it down.&lt;BR /&gt;Any pointers from the community would be much appreciated.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Thu, 09 Apr 2026 00:20:03 GMT</pubDate>
    <dc:creator>vensyd</dc:creator>
    <dc:date>2026-04-09T00:20:03Z</dc:date>
    <item>
      <title>ADO.NET Driver for Fabric Data Engineering (Preview) — HTTP 404 EntityNotFound</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5145497#M15743</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I've been exploring the newly released Microsoft ADO.NET Driver for Fabric Data Engineering (v1.0.0) and hit a wall that I can't explain. Posting here in case anyone else has run into this or can shed some light.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**What I'm trying to do**&lt;/P&gt;&lt;P&gt;Connect a .NET 8 console app to a Fabric Lakehouse and run Spark SQL CRUD operations via the LivyConnection, using AzureCli auth on macOS.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**The error**&lt;/P&gt;&lt;P&gt;Every connection attempt fails at session creation:&lt;/P&gt;&lt;P&gt;```&lt;BR /&gt;Microsoft.Spark.Livy.AdoNet.Common.Exceptions.LivyAdoNetException:&lt;BR /&gt;Failed to create Livy session: received null response&lt;BR /&gt;---&amp;gt; LivyClientException: HTTP 404: Not Found&lt;BR /&gt;{"errorCode":"EntityNotFound","message":"The requested resource could not be found"}&lt;BR /&gt;at FabricLivyClientImpl.CreateFabricSessionAsync(...)&lt;BR /&gt;at FabricSessionBridge.CreateSessionAsync(...)&lt;BR /&gt;at LivyConnection.OpenAsync(...)&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**What I've already ruled out**&lt;/P&gt;&lt;P&gt;This is where it gets interesting. The raw Livy API works perfectly fine.&lt;/P&gt;&lt;P&gt;When I POST directly to:&lt;BR /&gt;```&lt;BR /&gt;&lt;A href="https://api.fabric.microsoft.com/v1/workspaces/{ws_id}/lakehouses/{lh_id}/livyapi/versions/2023-12-01/sessions" target="_blank" rel="noopener"&gt;https://api.fabric.microsoft.com/v1/workspaces/{ws_id}/lakehouses/{lh_id}/livyapi/versions/2023-12-01/sessions&lt;/A&gt;&lt;BR /&gt;```&lt;BR /&gt;...I get HTTP 202 and a valid session ID back immediately. So:&lt;/P&gt;&lt;P&gt;- Auth is working (AzureCli token is valid)&lt;BR /&gt;- Workspace ID is correct (confirmed via API — lists lakehouses successfully)&lt;BR /&gt;- Lakehouse ID is correct (confirmed in the API response)&lt;BR /&gt;- The Livy API itself is reachable and functional&lt;BR /&gt;- Tested against two different Lakehouses in the same workspace — same 404 on both&lt;/P&gt;&lt;P&gt;The driver's internal `CreateFabricSessionAsync` is clearly hitting a different URL path or API version than `livyapi/versions/2023-12-01/sessions`, and that path is returning 404.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**Environment**&lt;/P&gt;&lt;P&gt;- Driver: Microsoft.Spark.Livy.AdoNet 1.0.0&lt;BR /&gt;- .NET: 8.0.42&lt;BR /&gt;- OS: macOS (Apple Silicon / M-series)&lt;BR /&gt;- Auth: AzureCli&lt;BR /&gt;- Fabric capacity: Trial&lt;BR /&gt;- Workspace region: Australia&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**My hypothesis**&lt;/P&gt;&lt;P&gt;The driver v1.0.0 may be using a different internal Livy API version string or URL structure than what's currently live on the Fabric tenant. Or there's a capacity SKU requirement (Trial vs paid F-SKU) that gates the specific endpoint the driver relies on.&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;**Questions**&lt;/P&gt;&lt;P&gt;1. Has anyone successfully connected using this driver? If so, what capacity type / SKU were you on?&lt;BR /&gt;2. Is there a known minimum SKU requirement for the driver's Livy session endpoint to resolve correctly?&lt;BR /&gt;3. Is the driver using a different API version internally?&lt;/P&gt;&lt;P&gt;Happy to share full logs with debug-level logging enabled if that helps narrow it down.&lt;BR /&gt;Any pointers from the community would be much appreciated.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 00:20:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5145497#M15743</guid>
      <dc:creator>vensyd</dc:creator>
      <dc:date>2026-04-09T00:20:03Z</dc:date>
    </item>
    <item>
      <title>Re: ADO.NET Driver for Fabric Data Engineering (Preview) — HTTP 404 EntityNotFound</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146011#M15767</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The 404 &lt;CODE class=""&gt;EntityNotFound is almost certainly your Trial capacity , the ADO.NET driver v1.0.0 appears to target an internal endpoint that just isn't available on Trial SKUs, even though the raw Livy API works fine on them. The two behave differently under the hood.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P class=""&gt;To quickly confirm, try capturing what URL the driver is actually calling (mitmproxy is handy for this on Mac) , my bet is it's hitting a different path or API version string than &lt;CODE class=""&gt;livyapi/versions/2023-12-01.&lt;/CODE&gt;&lt;/P&gt;
&lt;P class=""&gt;In the meantime, since your raw Livy calls are working perfectly, just use &lt;CODE class=""&gt;HttpClient directly with &lt;CODE class=""&gt;AzureCliCredential&amp;nbsp;, you get the exact same result without the driver getting in the way. Not ideal, but it unblocks you while this gets sorted.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P class=""&gt;Worth raising with Microsoft too , Trial + Australia region + a v1.0.0 preview driver is a pretty specific combo and this could just be a staged rollout gap rather than anything you're doing wrong.&lt;/P&gt;
&lt;P class=""&gt;&lt;CODE class=""&gt;&lt;CODE class=""&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P class=""&gt;&lt;CODE class=""&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/913490"&gt;@vensyd&lt;/a&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 15:26:42 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146011#M15767</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2026-04-09T15:26:42Z</dc:date>
    </item>
    <item>
      <title>Re: ADO.NET Driver for Fabric Data Engineering (Preview) — HTTP 404 EntityNotFound</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146161#M15777</link>
      <description>&lt;P&gt;Thanks for the detailed explanation.&lt;/P&gt;&lt;P&gt;Tried again on F16 and finally got to the bottom of it. Used mitmproxy to capture exactly what URL the driver is hitting internally, and the root cause is a URL casing bug in the driver itself.&lt;/P&gt;&lt;P&gt;The driver v1.0.0 is calling:&lt;BR /&gt;&lt;STRONG&gt;POST .../lakehouses/{id}/livyApi/versions/2023-12-01/sessions&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The correct Fabric API path is:&lt;BR /&gt;&lt;STRONG&gt;POST .../lakehouses/{id}/livyapi/versions/2023-12-01/sessions&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;One character difference -- the driver constructs the URL with livyApi (capital A) but the Fabric REST API is case-sensitive and only resolves livyapi (all lowercase). That's why it returns 404 every time, regardless of whether your workspace ID, lakehouse ID, auth, or capacity are all correct.&lt;/P&gt;&lt;P&gt;To confirm this isn't a config issue, I built a pre-flight checker that runs four checks before the driver attempts to connect -- workspace lookup, capacity check, lakehouse type verification, and a raw Livy API call. All four passed on F16:&lt;/P&gt;&lt;P&gt;[OK] Workspace found: 'Fabric-RnD'&lt;BR /&gt;[OK] Lakehouse found: 'Bronze' (type: Lakehouse)&lt;BR /&gt;[OK] Livy API reachable (HTTP 202) -- test session created and cleaned up&lt;BR /&gt;[FAIL] Driver v1.0.0 -- HTTP 404 at CreateFabricSessionAsync&lt;/P&gt;&lt;P&gt;Same workspace, same lakehouse, same token, same machine. Raw Livy API works. Driver doesn't. mitmproxy showed exactly why.&lt;/P&gt;&lt;P&gt;This is a one-character bug in FabricLivyClientImpl.CreateFabricSessionAsync inside the driver. Nothing the user can work around via connection string or config.&lt;/P&gt;&lt;P&gt;Environment:&lt;BR /&gt;- Driver: Microsoft.Spark.Livy.AdoNet v1.0.0&lt;BR /&gt;- .NET: 8.0.42&lt;BR /&gt;- OS: macOS (Apple Silicon)&lt;BR /&gt;- Capacity: F16&lt;BR /&gt;- Region: Australia&lt;BR /&gt;- Auth: AzureCli&lt;/P&gt;&lt;P&gt;Fix needed: change livyApi to livyapi in the driver's internal URL construction.&lt;/P&gt;&lt;P&gt;Hope this helps the team get a patch out for v1.0.1.&lt;/P&gt;&lt;P&gt;Also attaching a mitmproxy traffic capture showing both calls side by side -- the working raw Livy endpoint (HTTP 202) and the driver's internal call (HTTP 404). The casing difference in the URL path is visible in the capture.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vensyd_0-1775764586138.png" style="width: 999px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/1332921i388B5689F1E716D5/image-size/large?v=v2&amp;amp;px=999" role="button" title="vensyd_0-1775764586138.png" alt="vensyd_0-1775764586138.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 19:56:43 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146161#M15777</guid>
      <dc:creator>vensyd</dc:creator>
      <dc:date>2026-04-09T19:56:43Z</dc:date>
    </item>
    <item>
      <title>Re: ADO.NET Driver for Fabric Data Engineering (Preview) — HTTP 404 EntityNotFound</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146163#M15778</link>
      <description>&lt;P&gt;Thanks for the detailed explanation.&lt;/P&gt;&lt;P&gt;Tried again on F16 and finally got to the bottom of it. Used mitmproxy to capture exactly what URL the driver is hitting internally, and the root cause is a URL casing bug in the driver itself.&lt;/P&gt;&lt;P&gt;The driver v1.0.0 is calling:&lt;BR /&gt;&lt;STRONG&gt;POST .../lakehouses/{id}/livyApi/versions/2023-12-01/sessions&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The correct Fabric API path is:&lt;BR /&gt;&lt;STRONG&gt;POST .../lakehouses/{id}/livyapi/versions/2023-12-01/sessions&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;One character difference -- the driver constructs the URL with livyApi (capital A) but the Fabric REST API is case-sensitive and only resolves livyapi (all lowercase). That's why it returns 404 every time, regardless of whether your workspace ID, lakehouse ID, auth, or capacity are all correct.&lt;/P&gt;&lt;P&gt;To confirm this isn't a config issue, I built a pre-flight checker that runs four checks before the driver attempts to connect -- workspace lookup, capacity check, lakehouse type verification, and a raw Livy API call. All four passed on F16:&lt;/P&gt;&lt;P&gt;[OK] Workspace found: 'Fabric-RnD'&lt;BR /&gt;[OK] Lakehouse found: 'Bronze' (type: Lakehouse)&lt;BR /&gt;[OK] Livy API reachable (HTTP 202) -- test session created and cleaned up&lt;BR /&gt;[FAIL] Driver v1.0.0 -- HTTP 404 at CreateFabricSessionAsync&lt;/P&gt;&lt;P&gt;Same workspace, same lakehouse, same token, same machine. Raw Livy API works. Driver doesn't. mitmproxy showed exactly why.&lt;/P&gt;&lt;P&gt;This is a one-character bug in FabricLivyClientImpl.CreateFabricSessionAsync inside the driver. Nothing the user can work around via connection string or config.&lt;/P&gt;&lt;P&gt;Environment:&lt;BR /&gt;- Driver: Microsoft.Spark.Livy.AdoNet v1.0.0&lt;BR /&gt;- .NET: 8.0.42&lt;BR /&gt;- OS: macOS (Apple Silicon)&lt;BR /&gt;- Capacity: F16&lt;BR /&gt;- Region: Australia&lt;BR /&gt;- Auth: AzureCli&lt;/P&gt;&lt;P&gt;Fix needed: change livyApi to livyapi in the driver's internal URL construction.&lt;/P&gt;&lt;P&gt;Hope this helps the team get a patch out for v1.0.1.&lt;/P&gt;&lt;P&gt;Also attaching a mitmproxy traffic capture showing both calls side by side -- the working raw Livy endpoint (HTTP 202) and the driver's internal call (HTTP 404). The casing difference in the URL path is visible in the capture.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="vensyd_0-1775764586138.png" style="width: 999px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/1332921i388B5689F1E716D5/image-size/large?v=v2&amp;amp;px=999" role="button" title="vensyd_0-1775764586138.png" alt="vensyd_0-1775764586138.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 19:58:43 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/ADO-NET-Driver-for-Fabric-Data-Engineering-Preview-HTTP-404/m-p/5146163#M15778</guid>
      <dc:creator>vensyd</dc:creator>
      <dc:date>2026-04-09T19:58:43Z</dc:date>
    </item>
  </channel>
</rss>

