Compartir a través de


Determinar qué tipo de descriptor de acceso se debe utilizar

Actualización: noviembre 2007

Se puede determinar los tipos de datos de un conjunto de filas en tiempo de compilación o en tiempo de ejecución.

Si necesita determinar los tipos de datos en tiempo de compilación, use un descriptor de acceso estático, como CAccessor. Es posible determinar los tipos de datos manualmente o mediante el Asistente para consumidores OLE DB ATL.

Si necesita determinar los tipos de datos en tiempo de ejecución, use un descriptor de acceso dinámico (CDynamicAccessor o sus objetos derivados) o manual (CManualAccessor). En estos casos, se puede llamar a GetColumnInfo en el conjunto de filas para devolver la información de enlaces de columna, con la que se pueden determinar los tipos.

La tabla siguiente enumera los tipos de descriptor de acceso incluidos en las plantillas de consumidores. Cada descriptor de acceso tiene sus ventajas y desventajas. Según cuál sea su situación, un descriptor de acceso servirá para atender sus necesidades.

Clase de descriptores de acceso

Enlace

Parámetro

Comentario

CAccessor

Cree un registro de usuario con macros COLUMN_ENTRY. Las macros enlazan un miembro de datos de ese registro con el descriptor de acceso. Una vez creado el conjunto de filas, no se pueden desenlazar las columnas.

Sí, mediante una entrada de macro PARAM_MAP. Una vez enlazados, no se pueden desenlazar los parámetros.

El descriptor de acceso más rápido por su pequeño volumen de código.

CDynamicAccessor

Automático.

No.

Útil si no se conoce el tipo de datos de un conjunto de filas.

CDynamicParameterAccessor

Automático, pero se puede reemplazar.

Sí, si el proveedor admite ICommandWithParameters. Parámetros enlazados automáticamente.

Más lento que CDynamicAccessor, pero útil para llamar a procedimientos almacenados genéricos.

CDynamicStringAccessor[A,W]

Automático.

No.

Recupera datos a los se tiene acceso del almacén de datos como datos de cadena.

CManualAccessor

Manual, mediante AddBindEntry.

Manual, mediante AddParameterEntry.

Muy rápido; los parámetros y columnas sólo se enlazan una vez. El programador determina el tipo de datos que usará. Vea el ejemplo DBVIEWER. Requiere más código que CDynamicAccessor o CAccessor. Es como llamar a OLE DB directamente.

CXMLAccessor

Automático.

No.

Recupera datos a los que se tiene acceso desde el almacén de datos como datos de cadena y los formatea como texto XML.

Vea también

Conceptos

Utilizar descriptores de acceso