 <ul> <li><p><strong>ODBC</strong> is the very old, long gone DB-access standard - don't use it unless you absolutely must. (it was "hip" back in the 1990's or so)</p></li> <li><p><strong>SqlClient</strong> is the .NET bare-bones ADO.NET level of accessing SQL Server databases, and the foundation for all other technologies. It can basically do anything with SQL Server that you need to do - run data queries, run DDL queries, execute stored procedures and so forth. It's fairly basic and bare-bones, e.g. you have to type a lot of repeating, boring code yourself</p></li> <li><p><strong>EnterpriseLibrary.Data</strong> is a layer on top of ADO.NET which simplifies common tasks by handling some of the repetitive code for you.</p></li> </ul> <p>There are additional things on top of the ADO.NET foundation - things like NHibernate, Entity Framework and so forth - but the <strong>SqlClient</strong> / ADO.NET is really the basis for all current, modern database access (to SQL Server, mostly) in the .NET world</p>