Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para establecer y recuperar datos, las plantillas OLE DB usan un descriptor de acceso y un conjunto de filas a través de la clase CAccessorRowset. Esta clase puede manejar varios descriptores de acceso de diferentes tipos.
Tipos de descriptores de acceso
Todos los descriptores de acceso derivan de CAccessorBase. CAccessorBase proporciona el enlace tanto de parámetros como de columnas.
En la siguiente ilustración se muestran los tipos de descriptores de acceso.

Clases de descriptores de acceso
CAccessor Use este descriptor de acceso cuando conozca la estructura del origen de la base de datos en tiempo de diseño.
CAccessorenlaza estáticamente un registro de base de datos, que contiene el búfer, al origen de datos.CDynamicAccessor Use este descriptor de acceso cuando no conozca la estructura de la base de datos en tiempo de diseño.
CDynamicAccessorllamaIColumnsInfo::GetColumnInfopara obtener la información de la columna de la base de datos. Crea y gestiona un descriptor de acceso y el búfer.CDynamicParameterAccessor Use este descriptor de acceso para controlar los tipos de comandos desconocidos. Al preparar los comandos,
CDynamicParameterAccessorpuede obtener información de parámetros de la interfaz deICommandWithParameters, si el proveedor admiteICommandWithParameters.CDynamicStringAccessor, CDynamicStringAccessorA y CDynamicStringAccessorW Use estas clases cuando no tenga conocimientos del esquema de la base de datos.
CDynamicStringAccessorArecupera datos como cadenas ANSI;CDynamicStringAccessorWrecupera datos como cadenas Unicode.CManualAccessor Con esta clase, puede usar cualquier tipo de datos que desee si el proveedor puede convertir el tipo. Controla tanto columnas de resultados como parámetros de comando.
En la tabla siguiente se resume la compatibilidad con los tipos de descriptores de acceso de plantilla OLE DB.
| Tipo de descriptor de acceso | Dinámica | Controla los parámetros | Búfer | Descriptores de acceso múltiples |
|---|---|---|---|---|
CAccessor |
No | Sí | Usuario | Sí |
CDynamicAccessor |
Sí | No | plantillas OLE DB | No |
CDynamicParameterAccessor |
Sí | Sí | plantillas OLE DB | No |
CDynamicStringAccessor[A,W] |
Sí | No | plantillas OLE DB | No |
CManualAccessor |
Sí | Sí | Usuario | Sí |
Tipos de conjuntos de filas
Las plantillas OLE DB admiten tres tipos de conjuntos de filas (consulte la ilustración anterior): conjuntos de filas únicos (implementados por CRowset), conjuntos de filas en masa (implementado por CBulkRowset) y conjuntos de filas de matriz (implementados por CArrayRowset). Los conjuntos de filas únicos capturan un identificador de fila único cuando MoveNext es llamado. Los conjuntos de filas en masa pueden capturar varios identificadores de fila. Los conjuntos de filas de matriz son conjuntos de filas a los que se puede acceder mediante la sintaxis de matriz.
En la siguiente ilustración se muestran los tipos de conjuntos de fila.

Clases de conjunto de fila
Los conjuntos de filas de esquema no tienen acceso a los datos del almacén de datos, sino que acceden a la información sobre el almacén de datos, denominada metadatos. Los conjuntos de filas de esquema se usan normalmente en situaciones en las que la estructura de la base de datos no se conoce en tiempo de compilación y se deben obtener en tiempo de ejecución.