Para establecer y recuperar datos, plantillas OLE DB utiliza un descriptor de acceso y un conjunto de filas mediante la clase CAccessorRowset , como se muestra en la figura siguiente. Esta clase puede manejar múltiples descriptores de acceso de diferentes tipos.

Todos los descriptores de acceso se derivan de CAccessorBase. CAccessorBase proporciona parámetros y enlace de columna.
Hay cuatro tipos de descriptor de acceso y tres tipos de conjunto de filas, que se muestran en la figura siguiente.

La siguiente tabla resume los cuatro tipos de descriptor de acceso.
| Tipo de descriptor de acceso | Dinámica | Params | Búfer | Múltiples descriptores de acceso |
| CAccessor | No | Sí | Usuario | Sí |
| CDynamicAccessor | Sí | No | OLE DB plantillas | No |
| CDynamicParameterAccessor | Sí | Sí | OLE DB plantillas | No |
| CManualAccessor | Sí | Sí | Usuario | No |
Las plantillas OLE DB admite tres tipos de conjuntos de filas (véase la figura anterior): solo conjuntos de filas (implementadas por CRowset), conjuntos de filas (implementado por CBulkRowset), a granel y matriz de filas (implementado por CArrayRowset). Conjuntos de filas de solo obtener un identificador de fila cuando se llama a MoveNext . Conjuntos de filas masiva pueden recuperar varios identificadores de fila. Conjuntos de filas de matriz son conjuntos de filas que se pueden acceder mediante la sintaxis de matriz.