Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread Problem with DBISAM 3.30
Mon, May 22 2006 5:17 PMPermanent Link

Roger
Hi

I have application (point of sale) C/S with DBISAM 3.30, the server run P4 2.8 512MB, 10 clients with celeron 1.6 256 MB.

I changed in the clients code for save data in the server, (I use memory table for capture), before using ExportTable  and ImportTable, now using SQL statement

The problem are when execute a Query (complex and big result)  lock clients for any minutes.

Excuseme my bad english.
Best regards
Roger


Hola

Supongo que habrá compañeros que hablen castellano, por lo tanto me entenderán mejor si me explico.

Tengo una aplicación de punto de venta, utilizo DBISAM 3.30 configurado como C/S, tengo un reporte que para obtener los datos utilizo 3 consultas (lo hice así por que usando una sola
era muy compleja y tardaba horas), al ejecutarse tarda unos 10 minutos, el problema está en que me bloquea la aplicación en las demas computadoras, así que cada vez que se solicita
este reporte, los vendedores no pueden grabar la venta.

La captura del detalle de la venta la hago en una tabla en memoria, despues la vacio al servidor usando ExportTable  e ImportTable por medio de una tabla temporal, pero se me ocurrió
usar una instrucción SQL para guardar los datos y entonces empezó el problema.

Creo que al ejecutar las consultas para el reporte el seridor (de DBISAM) queda ocupado y por lo tanto no ejecuta las peticiones de los demas equipos.

He intentado buscar alguna propiedad en los componentes o alguna opción en la configuración del servidor que me ayude a resolverlo pero sin resultado.

Agradecerá cualquier comentario al respecto.

Saludos
Roger.
Mon, May 22 2006 5:38 PMPermanent Link

"Jose Eduardo Helminsky"
Roger

Could you post the code of this "complex" query. It will help us to help
you.

Eduardo

Tue, May 23 2006 12:29 PMPermanent Link

Roger
Hi Jose


The SQL statement not is my problem, the problem is the server is busy and not execute SQL (to save data) from clients (both use the same tables ).



Best regards
Roger
Tue, May 23 2006 6:17 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Roger,

<< I have application (point of sale) C/S with DBISAM 3.30, the server run
P4 2.8 512MB, 10 clients with celeron 1.6 256 MB.

I changed in the clients code for save data in the server, (I use memory
table for capture), before using ExportTable  and ImportTable, now using SQL
statement

The problem are when execute a Query (complex and big result)  lock clients
for any minutes. >>

The query is most likely very un-optimized and is doing a table scan, which
is causing read locks to be held on the table for long periods of time.
This, in turn, is causing any writes to the table to wait until they can
obtain the proper write lock, which they cannot do while there is a read
lock in place.  If you optimize the query by adding the proper indexes and
eliminate the table scan, then that should a) make the query run faster and
b) prevent this wait for the writes.

--
Tim Young
Elevate Software
www.elevatesoft.com

Fri, Nov 9 2007 10:32 AMPermanent Link

leninrodriguez@hotmail.com
Roger, yo tengo exactamente el mismo problema y me interesa saber si lo
resolviste y como lo hiciste
Image