OLE DB 资源池和服务

若要很好地使用 OLE DB 池或任何 OLE DB 服务,提供程序必须支持所有对象的聚合。 这是任何 OLE DB 1.5 或更高版本提供程序的要求。 这对于利用服务至关重要。 不支持聚合的提供程序无法进行共用,并且不会提供其他服务。

若要共用,提供程序必须支持自由线程模型。 资源池根据 DBPROP_THREADMODEL 属性确定提供程序的线程模型。

如果提供程序的全局连接状态在数据源处于初始化状态时可能会发生更改,则它应支持新的 DBPROP_RESETDATASOURCE 属性。 在重复使用连接之前会调用此属性,让提供程序有机会在下一次使用之前清理状态。 如果提供程序无法清理与连接相关的某些状态,它可以返回属性 DBPROPSTATUS_NOTSETTABLE,并且连接不会被重复使用。

连接到远程数据库并且可以检测该连接是否丢失的提供程序应支持 DBPROP_CONNECTIONSTATUS 属性。 此属性使 OLE DB 服务能够检测死连接并确保它们不会返回到池。

最后,自动事务登记通常不起作用,除非它在发生池的同一级别实现。 支持自动事务登记的提供程序应支持通过公开 DBPROP_INIT_OLEDBSERVICES 属性并在取消选择 DBPROPVAL_OS_TXNENLISTMENT 时禁用登记来禁用此登记。

另请参阅

高级提供程序技术