Search code examples
sql-serverodbcdata-access-layersqlclient

What SQL drivers are available in Windows to connect and what's SqlClient driver on ConnString?


I need to understand which drivers are available in windows to connect to SQL Server?

My question comes up because I know ODBC and OLEDB are the drivers to connect to a SQL Server and they appear in a connection string (we specify them).

However, if I specify System.Data.SqlClient, where do I find that driver in my system? Which versions are available to use? Does it mean that I can use odbc, oledb or SqlClient drivers to connect to SQL Server?

Worth mentioning that I know we have the ADO.NET Coding side to develop ODBC, oledb, and SqlClient code so that the driver we use in the connection string understand it.

<connectionStrings>
    <add name="Model1" 
         connectionString="data source=tcp:dbtestserver.database.windows.net;initial catalog=dbtest;Connection Timeout=5;Max Pool Size=5;user id=myuser;password=mypassword;MultipleActiveResultSets=True;App=EntityFramework"   
         providerName="System.Data.SqlClient" />
</connectionStrings>

Any good explanation about drivers and most of all SqlClient driver?


Solution

  • System.Data.SqlClient is part of .NET Framework and is built-in to Windows. It's an ADO.NET provider and does not rely on either ODBC or OleDb. Windows also ships with old OleDb and ODBC drivers. And a newer OleDb and ODBC drivers are available to download and install.