Pagina 2 di 5 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 43
  1. #11
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    Originariamente inviato da Dirk Pitt
    Secondo me è un sistema che non fila.
    Metti il caso che io, utente x, voglia apportare delle modifiche. Ovviamente non so se l'utente y sta apportando delle modifiche e mi ritrovo a non poter effettuare cambiamenti. Devo aspettare. ma fino a quando? Metti il caso che l'utente y finisca di modificare e nel mentre entri l'utente z per modificare (utente che si trova lo stesso problema di aspettare il suo turno), io sono dinuovo fregato.
    O ci si mette daccordo tra utenti (cosa pressochè impossibile), oppure diventa una mezza odissea riuscire ad apportare modifiche (e più utenti ci sono e più l'odissea diveta infinita).
    chiarisco: tutti gli utenti possono essere in lettura/scrittura.
    Quando due utenti operano su una pagina ASP che permette loro di modificare un qualsiasi record premeranno un submit che lancerà la Conn.Execute.

    Io devo evidare SOLAMENTE che due Conn.Execute avvengano contemporaneamente.
    Se cio' avvenisse è possibile che l'esecuzione di un aggioramento avvenga su una versione di db vecchia e il database persa alcune richieste di aggiornamento.

    C'e' il timeout della pagina che serve a questo.
    Ogni richiesta Conn.Execute(SQL) ha un timeout per essere eseguita. Dopo di che da errore.
    Questo intervallo di tempo serve per attendere che le altre Conn.Execute(SQL) arrivate cronologicamente prima vengano eseguite.

  2. #12
    ma che state a di'? io entro, chiedo la modifica e setto. l'altro entra, vede che il campo è già settato e non fa nulla. uso questo metodo da un quarto di secolo e non ho mai visto una sovrascrittura accidentale.

  3. #13
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    Originariamente inviato da optime
    ma che state a di'? io entro, chiedo la modifica e setto. l'altro entra, vede che il campo è già settato e non fa nulla. uso questo metodo da un quarto di secolo e non ho mai visto una sovrascrittura accidentale.
    io vorrei andare oltre...
    mi stai dicendo che posso implementare una area riservata per un solo utente (che respinge l'accesso a tutti gli altri) per le modifiche.
    Ma se l'utente si dimentica di sloggarsi ?

    Non mi sai indicare su web un esempio di codice ?

    grazie

  4. #14
    Originariamente inviato da optime
    ... uso questo metodo da un quarto di secolo...
    Vecchiotto eh

    Metti il caso che io acceda per modificare, nel mentre squilla il telefono, rispondo mentre a video vedo il record del db. Nel mentre quel gran rimpic......i del mio collega entra nello stesso record, lo modifica e salva.
    Finisco la telefonota con quella rompiscatole di mia moglie ("passa a fare la spesa, prendi il latte...", ci manca solo che mi chiami Loris eh eh eh) e a video continuo a vedere il record com'era... prima, perchè ora in realtà è diverso, modificato dal collega.

  5. #15
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    è possibile che si possa creare un oggetto con Server.CreateObject("ADODB.Recordset")
    che possa garantire l'accesso esclusivo in scrttura all'utente che esegue l'insert /delete ?

  6. #16
    Originariamente inviato da Dirk Pitt
    Vecchiotto eh
    e me ne vanto!

  7. #17

  8. #18
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227

    ipotesi di soluzione...

    riprendo il discorso:

    sto usando una stringa di connessione:
    Codice PHP:
    Dim Conn
    Set Conn
    =Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="server.MapPath("db1.mdb"
    se utilizzassi invece:
    Codice PHP:
    Dim Conn
    Set Conn
    =Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&_
    server.MapPath("db1.mdb")&"Exclusive=1;"); 
    per avere un accesso esclusivo SOLO per le modifiche e non in modalità di lettura ?

    qualcuno ci ha provato ?

  9. #19
    scusa, ma tu vuoi scrivere SENZA poter leggere?

  10. #20
    Utente di HTML.it L'avatar di eng
    Registrato dal
    Mar 2002
    Messaggi
    1,227
    voglio che chi modifica abbia accesso ESCLUSIVO r/w alle pagine che eseguono DELETE e/o INSERT
    mentre chi non modifica abbia accesso r NON ESCLUSIVO.

    Il problema fondamentale è che in fase di scrittura UN utente alla volta puo' avere accesso W al DB.

    Ho pensato che il codice asp della pagine che implementano modifiche al db (e quindi accesso W) debba garantire un accesso all'utente che esegue la conn.execute che modifica il db.

    Nel caso due utenti vogliano modificare (non solo leggere) il database, allora il codice asp a cui accerebbero dovrebbe contenere (secodno la mia ipotesi di soluzione) quell'accesso esclusivo, ma solo uno di essi potrebbe scrivere; l'altro rimarrebbe in stand-by per qualche centinaia di millisecondi per l'esecuzione della Conn.Execute

    Il discorso funza ?

    Nessuno ha usato mai il parametro Exclusive=1 anzichè Exclusive=no ?

    grazie

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.