+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

Accessi concorrenti con Jet

  1. #1
    L'avatar di _gas
    _gas non  in linea Scribacchino
    Salve a tutti.
    Premetto che la scelta di Access (e di conseguenza JET) stata obbligata, quindi non posso cambiare anche se sarebbe appropriato...
    Ho due applicazioni che lavorano sul medesimo DB Access.
    Quando un'applicazione effettua degli aggiornamenti sul DB, l'altra impiega dai 2 ai 4 secondi per "rendersi conto" che i dati sono stati aggiornati (cio, se apro un recordset sulla tabella modificata non sono presenti gli aggiornamenti), e questo moooolto dannoso per tutto il meccanismo! [img]smileys/smiley11.gif[/img]
    Premetto che l'applicazione che effettua le modifiche viene lanciata dall'altra, che attende la chiusura di essa (ho utilizzato waitforsignleobject).
    Qualcuno sa aiutarmi e/o suggerirmi una scappatoia che non sia quella di mettere in "Sleep" l'applicazione (anche perch dipende dal computer sul quale viene eseguita!)?
    ℹ️ Leggi di pi su _gas ...

  2. #2
    C'e' qualcosa che non mi e' chiaro ... perche' hai usato WaitForSingleObject ? Non devi sincronizzare processi o thread e la gestione delle concorrenze di Access dovrebbe bastare ...

    Il miglior modo di avere una risposta e' mostrare il codice che usi per scrivere e quello per leggere ...
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    L'avatar di _gas
    _gas non  in linea Scribacchino
    uhm... forse ho mischiato un po' le informazioni e si creata confusione.
    Il WaitForSingleObject per fare in modo che durante l'utilizzo di un'applicazione quella che la ha lanciata non venga utilizzata ( un'esigenza progettuale, le modifiche che vengono effettuate da un'applicaizone "secondaria" (che viene cio lanciata dalla prima) devono essere "assimilate" prima di procedere)
    Ora, provo con un esempio:
    Lancio App1
    App1 legge dei dati
    App1 lancia App2 e attende la sua chiusura
    App2 modifica i dati
    Chiudo App2
    App1 legge i dati modificati
    Ecco, proprio l'ultimo passo quello che non funge! Dalla modifica dei dati con App2 alla lettura corretta con App1 deve passare del tempo (certo, se aspetto 5 secondi prima di chiudere App2, o prima di leggere i dati con App1 non ci sono problemi, ma il tempo relativo alla macchina!).
    Forse l'approccio non dei migliori, ma l'unica cosa che mi venuta in mente avendo due applicazioni ben distinte! (infatti App1 passa delle informazioni ad App2 attraverso la command line!!!) [img]smileys/smiley5.gif[/img]

    Il codice lo posterei volentieri ma sono parecchie (davvero parecchie) righe, in sostanza si tratta di INSERT, DELETE per scrivere (eseguiti con COnnection.Execute) e un recordset aperto come come ReadOnly per leggere.
    ℹ️ Leggi di pi su _gas ...

  4. #4
    L'avatar di _gas
    _gas non  in linea Scribacchino
    Non mia abitudine ( la prima volta che lo faccio) ma mi vedo "costretto" a fare un "piccolo up" [img]smileys/smiley9.gif[/img]
    Perdonatemi ma questo problema mi sta facendo uscire pazzo!
    Se ci fosse un modo di "bloccare le query in richiesta e metterle in attesa finche il DB non sia aggiornato" sarebbe l'ideale, ma nn ho proprio idee... [img]smileys/smiley18.gif[/img]
    ℹ️ Leggi di pi su _gas ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Configurazione del controllo accessi
    Da Lelec nel forum Microsoft SQL Server
    Risposte: 0
    Ultimo Post: 12-03-2020, 15:06
  2. Gestione accessi
    Da Nico1292 nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 28-10-2014, 11:48
  3. Contatore accessi non funziona
    Da sinero nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 01-05-2012, 23:10
  4. DB controllo accessi con barcode
    Da bordank nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 02-06-2010, 17:51
  5. [Access]:Gestione Accessi!!
    Da bud77 nel forum Microsoft Access
    Risposte: 4
    Ultimo Post: 26-10-2005, 14:58