【asp源码栏目提醒】:网学会员,鉴于大家对asp源码十分关注,论文会员在此为大家搜集整理了“ASP NET 3 5核心编程学习笔记(11):SqlConnection、连接池_炮土狼烟_ - 技术总结”一文,供大家参考学习!
.NET数据提供程序的构成 .NET数据提供程序的功能分为两类非连接的数据支持、连接的数据支持。
下表列出了.NET数据提供程序的主要组件 上表中组件的实现是基于一组接口定义的方法和属性见下表 提供程序工厂模型 从2.0版本开始ADO.NET提供程序的架构得到了改进引入了工厂类。
每种.NET数据提供程序都包含继承于基类DbProviderFactory的工厂类。
工厂类代码各自指定提供程序的公共入口下表列出了工厂类的主要方法 如果获取某种提供程序的工厂呢我们可使用一个新引入的类DbProviderFactoryies该类有几个静态方法。
示例代码 DbProviderFactory fact DbProviderFactories.GetFactorySystem.Data.SqlClient GetFactory方法接受一个字符串该字串代表提供程序的恒定名称。
这个名称被硬编码在注册每个提供程序的配置文件中。
GetFactory会对所有已注册的提供程序进行枚举返回与恒定名称匹配的程序集和类名信息。
该方法会对工厂类进行反射获取静态属性Instance的值即使用单件模式获取工厂类的实例。
DataProviderFactories的GetFactoryClasses方法能通过DataTable对象返回当前已安装的数据提供程序表。
示例代码 DataTable providers DbProviderFactories.GetFactoryClasses SqlConnection类 该代表与SQL Server物理连接位于System.Data.SqlClient命名空间中实现了IDbConnection接口。
该类的属性见下表 除ConnectionString外其余属性都是只读的。
该类的方法见下表 注意连接即使超出作用范围也不会自动关闭。
垃圾回收器无法识别对象的特殊功能无法合理对其进行处理因而连接也就不会被关闭。
为此必须在该对象使用完毕时显式调用Close或Dispose。
SqlConnection类提供了一个叫ChangePassword的静态方法使开发者可以更改用户在连接字符串中指定的SQL Server密码。
但要注意的是该方法仅适用于SQL Server 2005以上版本。
在ADO.NET 2.0和更高版本中所有托管提供程序都实现了GetSchema方法用于获取数据库元数据信息如表、索引、视图、数据类型等。
连接属性的配置 连接类的ConnectionString属性仅当连接处于关闭状态时才能设置。
许多连接字符串的值在连接类中都有对应的只读属性。
连接字符串中的属性名不区分大小写如果出现多次则采用最后出现的设置。
SQL Server连接字符串关键字见下表 如果要执行涉及大型对象的大宗操作那么提高数据包大小可能会有帮助因为这样会减少读/写次数。
连接字符串生成器