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.

oAdoDataSource:QueryArray() deja el fichero temporal abierto ?

Foro público de Xailer en español
Responder
correo
Mensajes: 109
Registrado: Mar Nov 22, 2005 7:15 pm

oAdoDataSource:QueryArray() deja el fichero temporal abierto ?

Mensaje 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.
Avatar de Usuario
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 ?

Mensaje 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.
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder