Página 1 de 1

oAdoDataSource:QueryArray() deja el fichero temporal abierto ?

Publicado: Jue May 03, 2007 8:09 pm
por correo
He detectado que cuando la aplicacion "casca" , informa del número de
ficheros abiertos .
Me dice que en DataSource de Ado hay un numero muy alto de ficheros abiertos
(más de 200) .
Las pruebas realizadas , me llevan a pensar que cada vez que ejecuto un
método QueryArray() ó incluso Query() , el fichero temporal queda abierto .
1.- Hay alguna forma de saber los ficheros que el sistema va abriendo ?
2.- Me podeis confirmar lo que comento?
Gracias y un saludo.

oAdoDataSource:QueryArray() deja el fichero temporal abierto ?

Publicado: Vie May 04, 2007 10:08 am
por ignacio
Juan José,
Los datasets se cierran automáticamente cuando su formulario contenedor se
cierra. Los datasets huérfaons, es decir, aquellos que no pertenecen a
ningún formulario deberá cerrarlos usted manualmente. Logicamente, si se
produce un error de ejecución en medio de su programa se quedarán
necesariamente datasets abiertos. Xailer tan sólo le indica para su propia
información de que se ha dejado datasets abiertos, que en el caso de salidas
de la aplicación debido a un error de ejecución no debería importarle, pero
si que debería forzar el cerrado de todos los datasets huerfanos en el resto
de los casos.
Cada vez que realiza un TDataSource:Query() esta creando un Dataset que
deberá cerrar utilizando su método End() cuando termine de usarlo. El método
TDatasource:QueryArray() retorna una matriz y no un dataset, por lo tanto,
no tiene nada que ver con lo que comenta.
En cualquier caso, en el caso de ADO no se crea ningún fichero temporal.
Debería revisar su código para ver porque crea tal cantidad de datasets que
no cierra adecuadamente.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan José García" <correo@jjgsoft.biz> escribió en el mensaje
news:463a2546$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> He detectado que cuando la aplicacion "casca" , informa del número de
> ficheros abiertos .
> Me dice que en DataSource de Ado hay un numero muy alto de ficheros
> abiertos (más de 200) .
> Las pruebas realizadas , me llevan a pensar que cada vez que ejecuto un
> método QueryArray() ó incluso Query() , el fichero temporal queda abierto
> .
>
> 1.- Hay alguna forma de saber los ficheros que el sistema va abriendo ?
>
> 2.- Me podeis confirmar lo que comento?
>
> Gracias y un saludo.
>
>
>