La Web del Programador: Comunidad de Programadores
 
    Pregunta:  15450 - PROBLEMAS DE RECORDSET VB6 - ORACLE
Autor:  Indira Cedeño
Actualmente me encuentro cambiando una aplicación VB6-Access a VB6-Oracle. La conexión con la Base de Datos se realiza a través del cliente oracle (sin ODBC), mi problema es cargar los recordset ya que una consulta de 136.000 registro se tarda demasiado por que se están cargado todos los registros al recordset antes de mostrarlos al usuario. ¿Existiría alguna forma de cargar los recordset por parte, es decir que este se llene progresivamente y ya poder ir trabajando y mostrando los datos?. De antemano agrdezco la ayuda que me puedan prestar.

  Respuesta:  Fernando Melo
Hola
Claro que puedes dividir la consulta para que tu recordset sea mas pequeño.... como se hace esto depende de la estructura de tus datos y lo que vas a mostrar

Cuando tu creas un recordset tan grande como dices, debes tener en cuenta el tipo de recordset que estas creando (dynaset, snapshot), ya que de ello depende la velocidad del SQL y la consulta del recordset, y no es cierto lo que dices que debes esperar a que todo el recordset se llene... eso sucede solo en el caso de resultados pequeños. Todo cursor tiene un limite de registros que puede cargar, los demas los carga solo cuando hay solicitudes por parte del usuario.....

Pienso que el problema lo tienes es cuando muestras el recordset y no cuando cargas el recordset, debes diseñar una ventana que te permita ver solamente una cantidad limitada de registros y cuando el usuario quiera ver más, muestras otro grupo de registros.. de esta manera no saturas la memoria ni tampoco te gastas un tiempo largo para cargar todo el recordset en un ventana.....

Espero te sirvan estos consejitos.... si tienes dudas puedes escribirme con gusto te ayudaré en lo que este a mi alcance