我们经常困惑的是,我们一些常用的SQL Server客户端工具,如SQLCMD, OSQL, ISQL, SQL Server Management Studio到底是用ODBC, OLEDB还是System.Data.Sqlclient? 不了解工具用的是哪个provider, 则有时候会比较困惑。如: 这篇文档讲sqlcmd.exe 2012版本用的是
我们经常困惑的是,我们一些常用的SQL Server客户端工具,如SQLCMD, OSQL, ISQL, SQL Server Management Studio到底是用ODBC, OLEDB还是System.Data.Sqlclient? 不了解工具用的是哪个provider, 则有时候会比较困惑。如:
这篇文档讲sqlcmd.exe 2012版本用的是OLEDB
另外篇文档讲sqlcmd.exe 2012版本用的事ODBC
哪篇MSDN文档是对的,哪篇是错的?
通过对各个客户端工具进行debugging,我们能比较容易的了解到每个工具使用了provider。下面是不同的工具,在不同版本下使用Data Access技术的列表,仅供参考。
|
Osql.exe | Sqlcmd | QA | Sqlwb.exe | Ssms.exe | |||||||||||||||||||||||||||||||||||||||||||
SQL Server 2000 | DB-Library Ntwdblib.DLL | ODBC sqlsrv32.dll | N.A. | ODBC Sqlsrv32.dll | N.A. | N.A. | ||||||||||||||||||||||||||||||||||||||||||
SQL Server 2005 | N.A. | ODBC Sqlncli.dll | OLEDB Sqlncli.dll | N.A. |
System.Data. SqlClient .NET Framework 2.0 |
N.A. | ||||||||||||||||||||||||||||||||||||||||||
SQL Server 2008 | N.A. | ODBC Sqlncli10.dll | OLEDB Sqlncli10.dll | N.A. | N.A. |
System.Data. SqlClient .NET Framework 3.5 SP1 |
||||||||||||||||||||||||||||||||||||||||||
SQL Server 2008 R2 | N.A. | ODBC Sqlncli10.dll | OLEDB Sqlncli10.dll | N.A. | N.A. |
System.Data. SqlClient .NET Framework 3.5 SP1 |
||||||||||||||||||||||||||||||||||||||||||
SQL Server 2012 | N.A. | ODBC Sqlncli11.dll | ODBC Sqlncli11.dll | N.A. | N.A. |
System.Data. sqlClient .NET Framework 4.0 |