Page 1 of 5

I have a big problem

Posted: Thu Oct 26, 2023 4:43 pm
by martingz
I have a problem, a program that had been working efficiently for more than 5 years, after a Windows update it does not add all the records, it is not always, something like this happened to someone, this problem started in this month of October

There are thousands of transactions a day and it has never failed.

Re: I have a big problem

Posted: Thu Oct 26, 2023 5:28 pm
by ASESORMIX
usa la funcion dbcommitall() luego de replace...

Re: I have a big problem

Posted: Thu Oct 26, 2023 6:51 pm
by martingz
Asesormix en si la uso, y nunca fallaba, hasta principios de este mes de octubre, puse un do events despues de dbcommitall() y en ocasiones llegaban 2 o 3 registros del mismo recibo
Por el problema pienso que es una actualizacion de windows pero hay 2 que no me deja quitar , el peor problema es que tenemos 1o cajas de cobro
que estan fallando de esa manera

saludos

Re: I have a big problem

Posted: Fri Oct 27, 2023 7:19 am
by serge_girard
Martingz,

- log ALL your appends/updates/deletes into TXT files
- modify DBF with 2 fields: ts_insert and ts_update char(26) and fill with timestamp (date() + time()) when inserted or updated
OR more drastically:
migrate to MySQL database

Re: I have a big problem

Posted: Fri Oct 27, 2023 7:58 am
by gfilatov
serge_girard wrote: Fri Oct 27, 2023 7:19 am Martingz,

- log ALL your appends/updates/deletes into TXT files
- modify DBF with 2 fields: ts_insert and ts_update char(26) and fill with timestamp (date() + time()) when inserted or updated
OR more drastically:
migrate to MySQL database
Hi,

You may consider using the SQLRDD library as a first step when migrating to a MySQL server:
viewtopic.php?f=15&t=7472

:arrow:

Re: I have a big problem

Posted: Fri Oct 27, 2023 2:06 pm
by martingz
Thank you all for your comments
Serge, we are moving all our systems to MaridDB but it is a huge job, we are only 3 programmers. we have about 60% of the work finished

It is almost certain that there is an error in a Windows update.

"For developers, affected connections may receive one or more records in a single input buffer, followed by a partial record less than 5 bytes in size,"

Re: I have a big problem

Posted: Fri Oct 27, 2023 2:47 pm
by AUGE_OHR
hi,

i don´t "think" that there was a Windows "Apps" Update which make Problem ...
have not hear about other People having Problem

but there was Windows Defender Update which often make Problem when "scan" Files

Tip : disable Folder where you have your DBF to "scan" by Windows Defender

you can use Powershell "as Administrator", on every Workstation, and type

Code: Select all

Add-MpPreference -ExclusionPath "Your_Folder_to_Exclude"

Re: I have a big problem

Posted: Fri Oct 27, 2023 2:51 pm
by serge_girard
MariaDB is very fine! Indeed huge job!

Re: I have a big problem

Posted: Fri Oct 27, 2023 4:39 pm
by franco
I had similar problem. I had taken out some of my dbcommits in my invoicing program. Forgot why, and had to add back.
I then found I had a problem with table names. I have have 2 tables with same starting names.
INV for inventory table . INVOICE for invoice table.
When I was deleting an item. My code was delete for len(alltrim(invoice->inv)) = 0. It was deleting when it wasn`t 0.
I had to change the = to == and problem stopped. So changed all my = to == .
This didn't use to happen but just in last year or so.
Also I close all tables when finished any edits and open when starting. I think this also commits data.
I don`t open a database with all tables in it and the just select the table when using.
For when invoicing I open (invoice, inv_item, customer, inventory, accrec, daysales) and close them when finished.
I still have not been able to get any sql to work.
Franco

Re: I have a big problem

Posted: Fri Oct 27, 2023 4:44 pm
by martingz
Auge_ohr,
We do not use Windows Defender, the program was working very well until this month of October and according to Microsoft documentation there are problems in sending packages, it is not all the devices we have almost 200 online, only the paid devices, which have thousands of daily transactions

this is the code
for y = 1 to main.grid_2.Itemcount
aValues:=main.Grid_2.Item(y)
if !empty(aValues[1])
select dia_pag
append blank
dia_pag->cve_cpto:=aValues[1]
dia_pag->ruta:=varrut
dia_pag->folio:=varfol
dia_pag->fecha_pag:=main.text_18.value
dia_pag->pago_act:=aValues[3]
dia_pag->fte_pago:=mftepago
dia_pag->cve_captur:=main.text_1.value
dia_pag->recibo:=main.text_12.value
dia_pag->hora:=time()
dia_pag->timbrado:='1'
endif
dia_pag->(DBCommit())
dia_pag->(dbunlock())
next
dia_pag->(DBCommitall())
dia_pag->(dbunlockall())
nexxt