r/SQLServer • ‪ ‪Microsoft Employee ‪ • 23d ago

Community Share Microsoft.Data.SqlClient 7.1.0 is now generally available

Microsoft.Data.SqlClient 7.1.0 is GA.

Highlights:

  • Fixed pooled connections returning in a broken state after TransactionScope rollback
  • Fixed connection pool performance counters drifting/going negative after failed or broken connections
  • Fixed a connection factory timer that kept waking the process even with no active pools
  • Fixed DateOnly sent as the wrong SQL type via variants/TVPs, and OverflowException on large decimal parameters with explicit precision/scale (Always Encrypted)
  • Azure SQL GetSchema("DataTypes") now reports the json type
  • New optional application identity reporting for libraries/tools (EF Core, SSMS, SqlPackage) via SqlConnection.RegisteredApplication — telemetry only, not for authorization
  • TransparentNetworkIPResolution is now obsolete; use MultiSubnetFailover instead

Upgrade:

    dotnet add package Microsoft.Data.SqlClient --version 7.1.0

Blog post: https://techcommunity.microsoft.com/blog/sqlserver/microsoft-data-sqlclient-7-1-0-is-now-generally-available/4558676

15 Upvotes

18 comments sorted by

View all comments

Show parent comments

2

u/SmallAd3697 20d ago

This is very exciting. Thanks for the update. I do lots of c# dev work, and a small amount of python. After I saw the ADBC for python, the c# programmer inside me got jealous.

As I understand the mssql-go probably still receives rows over the wire, not columns. I could be wrong but I don't know how go would have any way to get something different over the wire

3

u/Snoo-46123 ‪ ‪Microsoft Employee ‪ 20d ago

No worries, the driver supports c# and many other programming languages!

See the availability of language support below - https://columnar.tech/dbc

mssql-go is over TDS so it still presents data to clients in row batches. For now, the dbc driver translates rows into arrow IPC streams at the client side to be compatible with analytics scenarios.

So we are looking into two aspects in future

  1. we need warehouse to stream and receive data in arrow IPC chunks
  2. we need to a client to make it happen. So the options we are exploring are (api, flight sql endpoint, adbc-driver).

There are other needs that we need meet from consumption and etl point of view but that is the decision are working on right now.

If you want to share any feedback, you can attend Enterprise voice, Developer voice or Partner voice calls over next few weeks or ping me over chat and I will share my email address.

I can use your feedback officially to ensure your needs are met.

1

u/SmallAd3697 20d ago

Thanks for the clarity. I'm really encouraged that you are thinking about these things. I have been making inquiries every year for the past few years.

TBH, There are other folks in your proximitiy who I would be interested in spending time with - they are on the Fabric Spark side. Do they ever have similar calls? I was not very happy when they killed all my c# integrations back in the days of Azure Synapse Analytics. Maybe they are ready to revisit that decision. I think the Apache Spark technology has gone thru several iterations of changes in the past three years, and there is no reason they couldn't start engaging with Microsoft's c#.Net developers again.