We currently connect to SQL Server 2014 with the Native Client without any issues.

However, the SQL Server is being upgraded to SQL 2017. I have been told that SQL Native Client will no longer work for connecting, and we need to install the OLE DB driver instead.

Is this correct? I have not found much online other than the Native Client is deprecated and also this article on the lifecycle.

What impact would this have on existing .Net applications and SSIS packages that connect to the database.

Here is a sample connection from an application...

connectionString="metadata=res://*/LoggingModel.csdl|res://*/LoggingModel.ssdl|res://*/LoggingModel.msl;provider=System.Data.SqlClient;provider connection string="data source=myServer;initial catalog=DBLogging;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"

2 Answers 2


Microsoft has deprecated the SQL Server Native Client (NCLI) driver, however SQL Server itself uses a wire-protocol, TDS that is independent of the driver used by the client.

NCLI will continue to work for the forseable future, however no new work will be conducted by Microsoft on the NCLI driver.

Pedro Lopez talks about the announcement, and subtle un-deprecation here. Also included are some sample connection string changes that will help migrate over to the MSOLEDBSQL driver.


I just installed the ODBC client for SQL 2017 for a python process yesterday. It seems to be working just fine. MS has stated the ODBC driver would be deprecated for at least 7 years now. I'm not convinced it's ever going away, but who knows. edit: Just tested connecting to SQL Server 2017 using the driver... seems to work just fine. – Jacob H

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.