Salve a tutti, ho questo problema:
Ho due applicazioni in rete locale che lavorano sulla stessa tabella in Mysql.
Entrambe appendono circa 500 record al giorno, in media vengono appesi circa 4 record alla volta.
Pero' l'1% dei record non viene salvato, si perde nel nulla.
Le tabelle sono di tipo MyIsam, non posso usare quelle di tipo InnoDB.
Io sviluppo in Delphi ed in Lazarus e mi succede con entrambi.
Metto qui di seguito un esempio del codice usato:
table1.open;
while ... do
begin
table1.AppendRecord([...]);
.
.
table1.ApplyUpdates(4);
database1.Transaction.CommitRetaining;
end;
table1.close;
Aggiungo che la cosa non succede se ad accedere e' una sola applicazione. Cioe' se non c'e' l'accesso concorrente. Per vari motivi non posso bloccare la tabella.
Ho provato anche ad impostare la variabile Mysql concurrent_insert=2 (prima aveva il valore di default, 1).
Se il codice fosse sbagliato, dovrei avere degli errori o non si dovrebbe salvare nulla, cosa puo' essere secondo voi?