Page 1 of 2 12 LastLast
Results 1 to 15 of 28

Thread: [ASP.NET/SQL SERVER 2008EX] Aggiornamento automatico db

  1. #1
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default [ASP.NET/SQL SERVER 2008EX] Aggiornamento automatico db

    Per farvi capire bene cosa mi serve penso sia meglio spiegare a cosa servirà sto tocco di codice.

    Si tratta di una biglietteria.
    Il cliente acquista il biglietto, all'atto dell'acquisto viene generata una stringa che viene scritta all'interno di un file di testo. Una funzione scritta da me, poi, divide queste stringhe in vari "pezzi" che vengono poi scritti su di un database.
    Quando il cliente si presenterà al tornello, "striscerà" il codice a barre del biglietto contro un lettore, che confronterà i dati del codice a barre con quelli presenti sul DB e, se coincidono, sbloccherà il tornello.
    E' necessario quindi che il database sia aggiornato di frequente (circa ogni minuto) e che quindi la mia funzione che esegue l'aggiornamento parta automaticamente ogni tot.

    Dovrebbe risultare una cosa tipo: impiegato clicca su "aggiorna db" all'inizio della giornata, e quello va avanti per tutto il giorno da solo, finchè impiegato non clicca su "ferma aggiornamento db".

    Cosa posso usare? Basta che mi spiegate cosa cercare e se c'è un metodo già fatto in ADO.NET.
    Ho provato a googlare un pò ma niente da fare :\

    vi vi bi in anticipo

  2. #2
    Lieutenant Commander Warbarbie's Avatar
    Join Date
    Nov 2004
    Location
    Rome
    Posts
    16.296

    Default

    Non puoi schedulare le procedure di aggionamento del db per farle girare con cadenza fissa?


  3. #3
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    Quote Originally Posted by Warbarbie View Post
    Non puoi schedulare le procedure di aggionamento del db per farle girare con cadenza fissa?
    Non sono sicuro di aver capito bene quello che intendi.
    Il tutto è scritto in vb.net e gira su IIS, non in locale. Non c'è un programma indipendente che esegue l'aggiornamento, è tutto via browser.
    C'è una classe contenente la procedura di aggiornamento, chiamata dal tasto "aggiorna db".

  4. #4
    Lieutenant Commander San Vegeta's Avatar
    Join Date
    Oct 2003
    Location
    Bologna
    Posts
    12.153

    Default

    qualunque db serio supporta la schedulazione e l'esecuzione automatica di script *SQL. Tu pero' devi usare un programmino per leggere i dati, se ho capito bene, quindi devi vedere in IIS se puoi agganciare dei processi da eseguire. In alternativa, sono sicuro che .net permette di creare un thread che si attivi ogni x millisecondi, ma non so dirti come. Cerca su msdn se ci sono esempi

    Domanda: ma perché dopo aver generato la stringa non la fai scrivere direttamente nel db?
    I rubinetti a casa di Chuck Norris non perdono, vincono.

    In the beginning there was nothing...then Chuck Norris Roundhouse kicked that nothing in the face and said "Get a job". That is the story of the universe.

    Quote Originally Posted by Wolfo View Post
    Concordo e propongo ban temporanei per chi critica la topa , la topa non si critica , dal trombabile in su non si commenta in modo sgradevole.
    la tua ignoranza in materia e' raccapricciante
    -cit. Estrema, 2022

  5. #5
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    Quote Originally Posted by San Vegeta View Post
    Domanda: ma perché dopo aver generato la stringa non la fai scrivere direttamente nel db?
    Perchè la stringa viene generata da un programma certificato dall'agenzia delle entrate, che genera un sigillo (un codice univoco per ogni biglietto) e scrive su sto file di testo (.trn).
    Il .trn fa fede fiscalmente.
    Noi possiamo solo estrapolare dati dal trn e gestirli.
    Tutto deciso dalla leggggge.

  6. #6
    Tunnel's Avatar
    Join Date
    Mar 2004
    Location
    Location.
    Posts
    14.756

    Default

    Han già risposto.
    O fai una stored procedure schedulata o fai scrivere direttamente come dice vege.
    In alternativa poi fare un trigger on inserted... ma anche no
    on Camelot Unchained (alpha):
    Nichodemus <GildaDiVecchieGlorieInPensione> - LaClasseCheCura - ServerName [soon]
    PG dei giochi vari in spoiler
    Spoiler


  7. #7
    Lieutenant Commander San Vegeta's Avatar
    Join Date
    Oct 2003
    Location
    Bologna
    Posts
    12.153

    Default

    no tunnelino, non puo' fare cosi. Mo vedo se trovo qualcosa, tanto mi sto annoiando a morte
    I rubinetti a casa di Chuck Norris non perdono, vincono.

    In the beginning there was nothing...then Chuck Norris Roundhouse kicked that nothing in the face and said "Get a job". That is the story of the universe.

    Quote Originally Posted by Wolfo View Post
    Concordo e propongo ban temporanei per chi critica la topa , la topa non si critica , dal trombabile in su non si commenta in modo sgradevole.
    la tua ignoranza in materia e' raccapricciante
    -cit. Estrema, 2022

  8. #8
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    Eh ora provo a cercare un pò in giro.
    Peccato che non riesca a capire come si installa SQL Server Management Studio 2008.
    Lo scarico, avvio l'installer, e mi parte il centro installazione SQL Server, con opzioni che boh, non c'entrano un cazzo.
    Fin'ora ho fatto tutto tramite sqlcmd, ma ora mi farebbe seriamente comodo :V

  9. #9
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    doppio

  10. #10
    Tunnel's Avatar
    Join Date
    Mar 2004
    Location
    Location.
    Posts
    14.756

    Default

    Quote Originally Posted by San Vegeta View Post
    no tunnelino, non puo' fare cosi. Mo vedo se trovo qualcosa, tanto mi sto annoiando a morte
    Se ha accesso diretto al DB la store può usarla eh
    basta che schedula l'import del file del cazzo la
    on Camelot Unchained (alpha):
    Nichodemus <GildaDiVecchieGlorieInPensione> - LaClasseCheCura - ServerName [soon]
    PG dei giochi vari in spoiler
    Spoiler


  11. #11
    Lieutenant Commander San Vegeta's Avatar
    Join Date
    Oct 2003
    Location
    Bologna
    Posts
    12.153

    Default

    Quote Originally Posted by Tunnel View Post
    Se ha accesso diretto al DB la store può usarla eh
    basta che schedula l'import del file del cazzo la
    Vero.
    Cmq la classe TimerCallback é quella che ti serve, sta in System.Threading. Su msdn ci sono degli esempi
    I rubinetti a casa di Chuck Norris non perdono, vincono.

    In the beginning there was nothing...then Chuck Norris Roundhouse kicked that nothing in the face and said "Get a job". That is the story of the universe.

    Quote Originally Posted by Wolfo View Post
    Concordo e propongo ban temporanei per chi critica la topa , la topa non si critica , dal trombabile in su non si commenta in modo sgradevole.
    la tua ignoranza in materia e' raccapricciante
    -cit. Estrema, 2022

  12. #12
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    Quote Originally Posted by San Vegeta View Post
    Vero.
    Cmq la classe TimerCallback é quella che ti serve, sta in System.Threading. Su msdn ci sono degli esempi
    Grazie mille. Ora checko.

  13. #13
    Lieutenant Commander Mosaik's Avatar
    Join Date
    Dec 2004
    Location
    Roma
    Posts
    9.724

    Default

    Altrimenti fai un servizio windows con la classe FileSystemWatcher che monitorizza l'FS.
    Come intercetti la modifica lancia l'aggiornamento

  14. #14
    Lieutenant
    Join Date
    Feb 2004
    Location
    Bresso
    Posts
    4.683

    Default

    Con un thread si fa in modo abbastanza semplice, se ho capito bene quello che ti serve:
    In C# col namespace System.Threading:
    Code:
    Thread thread = new Thread(ThreadProcedure);
    thread.Start();
    void ThreadProcedure()
    {
    while (true)
    {
    //tuo codice
    Thread.Sleep(60000); //1 minuto
    }
    }
    Ovviamente mettendo la condizione di uscita dal ciclo, che corrisponde al "ferma aggiornamento db" che dici tu, mentre la creazione del thread va agganciata all "aggiorna db".
    In alternativa puoi usare funzioni di sistema operativo tipo WaitForSingleObject, ma diventa piu' complicato.
    In ogni caso in Vb mi rifiuto di scriverlo

  15. #15
    Lieutenant Junior Grade Katzenjammer's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Chick Republic
    Posts
    4.441

    Default

    Devo provare con sti thread.
    Prima cercando un pò in giro ho trovato un'altra soluzione, usando un timer in ajax.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[Output: 105.15 Kb. compressed to 89.76 Kb. by saving 15.39 Kb. (14.64%)]