Per impostare e recuperare i dati, i modelli OLE DB utilizzano una funzione di accesso e un rowset tramite la classe CAccessorRowset , come mostrato nella figura riportata di seguito. Questa classe può gestire più funzioni di diversi tipi di accesso.

Tutte le funzioni di accesso derivano da CAccessorBase. CAccessorBase fornisce sia e delle colonne.
Ci sono quattro tipi di accesso e tre tipi di set di righe, che sono indicati nella figura seguente.

La seguente tabella riassume i quattro tipi di accesso.
| Tipo di accesso | Dinamica | Params | Tampone | Più funzioni di accesso |
| CAccessor | No | Sì | Utente | Sì |
| CDynamicAccessor | Sì | No | OLE DB Templates | No |
| CDynamicParameterAccessor | Sì | Sì | OLE DB Templates | No |
| CManualAccessor | Sì | Sì | Utente | No |
I modelli OLE DB supportano tre tipi di rowset (vedere nella figura precedente): i rowset singoli (implementati da CRowset), i rowset (implementati da CBulkRowset), di massa e matrice, i set di righe (implementato da CArrayRowset). I rowset singoli recupero una maniglia singola riga quando viene chiamato il metodo MoveNext . Set di righe BULK può recuperare più handle di riga. Sono di matrice rowset set di righe è possibile accedere mediante la sintassi di matrice.