一、定义
一种数据访问技术,应用程序可以连接到数据库,并以各种方式操作其中数据,一个COM组件库,.NET中的数据,优先选择的数据访问接口。
二、组成
1、DataSet 非连接核心组件,独立于任何数据源的数据访问,多种不同的数据源
2、Data Provider 数据提供程序,用于连接数据库、执行命令、检索结果
- SQLServer数据提供程序 System.Data.SqlClient命名空间
- OLEDB的数据提供程序System.Data.Oledb命名空间
- ODBC的数据提供程序System.Data.Odbc命名空间
- Oracle数据提供程序System.Data,OracleClient命名空间
3、Connection 提供与数据源的连接 SqlConnection
4、Command 执行数据库命令对象 SqlCommand
- Connection:SqlCommand对象使用SqlConnection
- CommandText:获取或设置要执行的T-SQL语句或储存过程
- CommandType:CommandType.Text-sql语句;CommandType.StoredProcedure
- Parameters:SqlCommand对象的命令参数集合
- Transaction:获取或设置要在其中执行的事务
5、DataReader 从数据源中提供快速的,只读的数据流 SqlDataReader
6.DataTable
7、DataAdapter 提供DataSet对象与数据源的桥梁 Fill Update
- SelectCommand 查询---SqlCommand
- InsertCommand 插入
- UpdateCommand 更新
- DeleteCommand 删除
8、SqlDataReader与SqlDataAdapter区别
三、连接池
存放了一定数量的与数据库服务器的物理连接(与服务器握手、分析连接字符串、身份验证)。
减少了连接数据库开销,提高应用程序性能。
区分:进程+应用程序域+连接字符串+windows标识共同组成的签名来标识区分;对同一个程序域由连接字符串区分。
分配原则:根据连接请求类型找到匹配连接池,分配空闲连接(无,则新建连接;达到最大连接数,则等待空闲连接)
移除原则:不能正确连接到服务器的连接;超过最大连接数的连接;无效连接。连接池管理器会处理无效连接的移除问题。
回收原则:使用Close或Dispose即可让连接回到连接池。