.NET Framework数据提供程序用于连接数据库,执行命令和检索结果,使得可以直接处理检索到的结果,或将其放入ADO.NET的DataSet对象中,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊身份为用户提供。
ADO.NET支持的数据访问方式及其命名空间。
- SQL Server .NET Framework数据提供程序:提供对microsoft SQL server 7.0或者更高的版本的数据访问。命名空间:System.Data.SqlClient
- OLE DB .NET Framework数据提供程序:适用于使用OLE DB(这个概念稍后详解)提供的数据源。命名空间:System.Data.OleDb
- ODBC .NET Framework数据提供程序:适用于使用ODBC公开的数据源,命名空间:System.Data.Odbc
- Oracle .NET Frameword数据提供程序:适用于Oracle公开的数据源,命名空间:System.Data.OracleClient
下面就解释一下什么是OLE DB 和ODBC
先来看OLE DB ,它是object linking and embedding database 的缩写。早期的数据库链接很麻烦,要对数据库底层的API有深入的了解,所以就出现了能够处理各种各样数据库的通用API,这就是ODBC(Open Database Connectivity),ODBC是早期的通用API的产物,支持这种标准的数据库,称之为ODBC兼容数据库。ODBC兼容的数据库包括Access, MS-SQL Server, Oracle, Informix等.
但是由于ODBC中含有大量的低级调用,开发ODBC应用程序仍旧很困难,于是 后来微软提出了一个解决方案: DAO(Data Access Objects),后来DAO演变为RDO(Remote Data Objects, 为分布式数据库体系设计), 再后来是ADO.按照微软的说法ODBC提供了本地SQL数据的存取,DAO提供了高级的数据对象. DAO和RDO都需要数据以SQL(Structured Query Language)的格式存储。(下面主角出场了哦)针对这些缺陷,微软提出了OLEDB,一个基于COM的数据存储对象,能提供对所有类型的数据的操作,甚至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力地看到最后一次数据同步时的数据映像).
OLEDB位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC处理。当然前提是我们调用ADO.NET类。也可以直接连到OLEDB层上面。
现在应该理解清楚了ADO.NET类中的这几个数据提供程序了。对于我们初学者,先理解清楚OLE DB 和ODBC 之间的关系,随后开发程序的过程中,在慢慢的理解吧。
怪好啊。。。木心情看。。。
呵呵,心情好的时候在看吧,心情坏的时候,就出去走走,找朋友聊天,把状态调整到最好!技术有的是时间学习。
博主加个链接吧,以后方便互相访问,正学习C#……
好的,其实我也是正在学习c#,共同进步啊。