Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    Accesso concorrente a Mysql

    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?
    Ultima modifica di tito_livio; 19-05-2021 a 15:55

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.