达内培训:连接池与sql(3)
对 ADOConPool 对象的有效引用。
备注 客户端应用程序应该定期调用此方法,以终止并删除已经侥馑孰幻超时的可用连接。有关收缩连接池的详细信息,请参阅平衡和收缩连接池。OLEDBConPool 对象OLEDBConPool 对象为使用 OLE DB 数据访问技术的客户端应用程序提供连接池,从而维护 OLE DB 会话对象的集合。OLEDBConPool 对象适用于那些直接使用 OLE DB 对客户端数据进行访问的应用程序,而大多数启用 Web 的应用程序应该使用 ADOConPool 连接池对象。
MaxSessions 属性 MaxSessions 属性用于限制连接池中 OLE DB 会话对象(包括可用会话和已用会话)的数目。
数据类型 长整型
权限 读/写
备注 由于连接池机制被设计为无阻碍机制,因而并不使用 MaxSessions 属性直接限制连接池的增长。而是由 ReturnSession 和 Shrink 方法使用此值来平衡和收缩连接池。有关平衡和收缩的详细信息,请参阅平衡和收缩连接池。
Sessions 属性 Sessions 属性返回连接池中活动 OLE DB 会话对象的数目。
数据类型 长整型
权限 只读
备注 Sessions 属性报告由 OLEDBConPool 对象管理的连接(包括已用连接和可用连接)的总数。
Timeout 属性 Timeout 属性设置或返回可用 OLE DB 会话对象保持活动状态的秒数。
数据类型 长整型
权限 读/写
备注 与 MaxSessions 属性类似,Timeout 属性由 Shrink 方法用来识别要从连接池中删除的活动可用连接。有关收缩的详细信息,请参阅平衡和收缩连接池。
GetSession 方法 如果给定一组 OLE DB 属性,GetSession 方法将返回 OLE DB 会话对象。
语法 C++
HRESULT GetSession([in] int in_cPropSets, [in] DBPROPSET* in_pPropSets, [out,retval] IDBCreateCommand** io_ppSession )
in_cPropSets
in_pPropSets 参数中引用的 tagDBPROPSET 类型结构的长度(以字节为单位)。 in_pPropSets
用来标识和(如果必要)创建 OLE DB 会话对象的 tagDBPROPSET 类型结构的指针。 io_ppSession
返回的 OLE DB 会话对象引用。对象引用被转换为 IDBCreateCommand OLE DB 接口。
备注 此方法试图在创建新连接之前通过匹配连接和安全性信息,从连接池中请求现有的可用连接。有关请求连接的详细信息,请参阅请求和返回连接。
ReturnSession 方法 ReturnSession 方法将 OLE DB 会话对象返回到连接池。
语法 C++
HRESULT ReturnSession([in,out] IDBCreateCommand** io_ppSession);
io_ppSession
返回到连接池的 OLE DB 会话对象。
备注 使用此方法返回连接之后,连接池对象会自动平衡可用连接。有关平衡连接的详细信息,请参阅平衡和收缩连接池。
Shrink 方法 当 Shrink 方法被调用时,它将终止过期的可用 OLE DB 会话对象并从连接池中将其删除。
语法 C++
HRESULT Shrink()
备注 客户端应用程序应该定期调用此方法,以终止并删除已经超时的可用连接。有关收缩连接池的详细信息,请参阅平衡和收缩连接池。
连接池是一种有效的资源管理方法。使用作为 Microsoft XML for Analysis Provider 的一部分提供的连接池对象,可以将这种资源管理方法扩展到使用 Microsoft SQL Server 2000 Analysis Services 的客户端应用程序,从而减少开发和实施过程中的开支,以低成本实现高性能。