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.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
oAdoDataSource:QueryArray() deja el fichero temporal abierto ?
- ignacio
- Site Admin
- Mensajes: 9462
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
oAdoDataSource:QueryArray() deja el fichero temporal abierto ?
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.
>
>
>
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.
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com