Compartir a través de


Uso de CacheSize

Use la propiedad CacheSize para controlar el número de registros que se van a recuperar al mismo tiempo en la memoria local del proveedor. Por ejemplo, si el CacheSize es 10, tras abrir por primera vez el objeto Recordset de , el proveedor recupera los primeros 10 registros en la memoria local. A medida que se desplaza por el objeto Recordset, el proveedor devuelve los datos del búfer de memoria local. Tan pronto como se avance más allá del último registro de la memoria caché, el proveedor recupera los próximos 10 registros del origen de datos hacia la caché.

Nota

CacheSize se basa en la propiedad específica del proveedor Maximum Open Rows (en la colección de Properties del objeto Recordset). No se puede establecer CacheSize en un valor mayor que Número máximo de filas abiertas. Para modificar el número de filas que puede abrir el proveedor, establezca Número máximo de filas abiertas.

El valor de CacheSize se puede ajustar durante la vida útil del objeto Recordset, pero cambiar este valor solo afecta al número de registros en la caché después de las posteriores recuperaciones del origen de datos. Cambiar el valor de la propiedad por sí solo no cambiará el contenido actual de la memoria caché.

Si hay menos registros que recuperar que cacheSize especifica, el proveedor devuelve los registros restantes y no se produce ningún error.

No se permite un valor de CacheSize de cero, lo que genera un error.

Los registros recuperados de la memoria caché no reflejan los cambios simultáneos realizados por otros usuarios en los datos de origen. Para forzar una actualización de todos los datos almacenados en caché, use el método Resync.

Si CacheSize se establece en un valor mayor que 1, los métodos de navegación (Move, MoveFirst, MoveLast, MoveNext y MovePrevious) pueden dar lugar a la navegación a un registro eliminado, si se produce la eliminación después de recuperar los registros. Después de la captura inicial, las eliminaciones posteriores no se reflejarán en la memoria caché de datos hasta que intente acceder a un valor de datos desde una fila eliminada. Sin embargo, establecer CacheSize en 1 elimina este problema porque no se pueden capturar filas eliminadas.