Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421

    Gestione della concorrenza con MySql

    Salve a tutti!
    come posso gestire la concorrenza utilizzando MySql e asp.net?
    Potete fornirmi dei link (in italiano possibilmente), dai quali posso attingere?
    Vi ringrazio in anticipo
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

  2. #2
    Non so dirti link, ma visto che mysql lo supporta potresti provare aggiungendo una colonna di tipo timestamp alla tabella e prima di apportarvi modifiche controlli che il valore nel db non sia cambiato rispetto a quello presente in memoria.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421
    Girando sul sito di MySql ho trovato questo:

    LOCK TABLES
    tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
    [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
    UNLOCK TABLES


    il bloccaggio dei record può servire quando due utenti modificano contemporaneamente lo stesso record?

    Questa è un'alternativa all'idea del campo timestamp o andrebbero usati assieme?

    Scusate tutte queste domande, ma sulla gestione della concorrenza non ci ho mai capito nulla....
    Grazie
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

  4. #4
    Originariamente inviato da JAEP
    il bloccaggio dei record può servire quando due utenti modificano contemporaneamente lo stesso record?
    Questa è un'alternativa all'idea del campo timestamp o andrebbero usati assieme?
    In un ambiente disconnesso (o quasi) come quello offerto da .net, puoi seguire la strada di caricare per l'utente A i dati provenienti da una tabella in un contenitore (es. datatable). Poi arriva l'utente B che fa la stessa cosa e modifica i dati salvandoli (e cambiando automaticamente il timestamp sulle righe modificate). L'utente A fa nel frattempo le sue modifiche e cerca di scriverle sul db ma nel frattempo il valore della colonna timestamp e' cambiato e quindi cio vuol dire che c'e' un potenziale problema di concorrenza che decidi tu come risolvere: es. l'ultimo che arriva passa sopra agli altri oppure l'applicazione avverte l'utente e da la possibilita' di scelta se es. annullare le modifiche e ricaricare la versione aggiornata dei dati.
    Saluti a tutti
    Riccardo

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.