Servicios y agrupación de recursos OLE DB
Para funcionar bien con la agrupación de OLE DB o con cualquier servicio OLE DB, el proveedor debe admitir la agregación de todos los objetos. Este es un requisito de cualquier proveedor OLE DB 1.5 o posterior. Es fundamental para aprovechar los servicios. Los proveedores que no admiten la agregación no se pueden agrupar y no se proporcionan servicios adicionales.
Para agruparse, los proveedores deben admitir el modelo de subproceso libre. El grupo de recursos determina el modelo de subprocesos del proveedor según la propiedad DBPROP_THREADMODEL.
Si el proveedor tiene un estado de conexión global que podría cambiar mientras el origen de datos está en un estado inicializado, debe admitir la nueva propiedad DBPROP_RESETDATASOURCE. Se llama a esta propiedad antes de reutilizar una conexión y proporciona al proveedor la oportunidad de limpiar el estado antes de su siguiente uso. Si el proveedor no puede limpiar algún estado asociado a la conexión, puede devolver DBPROPSTATUS_NOTSETTABLE para la propiedad y la conexión no se reutilizará.
Los proveedores que se conectan a una base de datos remota y pueden detectar si esa conexión podría perderse deben admitir la propiedad DBPROP_CONNECTIONSTATUS. Esta propiedad proporciona a los servicios OLE DB la capacidad de detectar conexiones inactivas y se aseguran de que no se devuelven al grupo.
Por último, la inscripción automática de transacciones generalmente no funciona, a menos que se implemente en el mismo nivel en que se produce la agrupación. Los proveedores que admiten la inscripción automática de transacciones deben admitir la deshabilitación de esta inscripción exponiendo la propiedad DBPROP_INIT_OLEDBSERVICES y deshabilitando la inscripción si se anula la selección de DBPROPVAL_OS_TXNENLISTMENT.