Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    11

    Multiutenza: accesso contemporaneo a record di DB Access


    Ciao a tutti,
    non sono un programatore e mi avvicino per la prima volta alla programazione ASP (eredito codice lasciato da un ex collega).

    Scenario: Callcenter di 100 operatori, che devono accedere tramite applicativo di gestione nominativi ASP ad un database anagrafico MSAccess.

    Situazione attuale: un teamleder della lavorazione stampa giornalmente dal db, un elenco di record con i campi anagrafici di persone da chiamare, e distribuisce le pagine agli operatori in modo tale che ognuno abbia i suoi record da richiamare.
    Attraverso una pagina ASP di accesso, gli operatori inseriscono il numero di telefono, o PIVA del soggetto da chiamare in campi appositi, clickano su un pulsante e si ritrovano in una seconda pagina (univoca per ognuno di essi) precompilata con tutti gli altri campi registrati nel DB.
    Questo sistema funziona correttamente, salvo l'enorme spesa della stampa di migliaia e migliaia di nominativi per le diverse campagne gestite.

    L'esigenza è ora quella di automatizzare questo processo.
    Vorrei modificare quindi la prima pagina ASP, in modo tale che contenga solamente un pulsante del tipo PASSA IL PROSSIMO NOMINATIVO, e l'azione di click (tenendo conto che decine di operatori potrebbero farlo contemporaneamente), dovrebbe aprire la seconda pagina precompilata con dati univoci per ogni operatore, evitando quindi di operare sullo stesso record o deadlock del sistema IIS.

    Chiedo quindi aiuto a qualcuno ben più esperto del sottoscritto (ci vuole poco), se può postare del codice ASP e relative quesry, che permettano di passare il primo record libero alla richiesta di un operatore.

    Grazie 1000,
    Fabio

    P.S.: possibili contatti anche a itdfabe@hotmail.com

  2. #2
    assumi qualcuno
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    ti avvicini alla programmazione ASP con quali skill?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    11
    Ciao,
    il mio background è stato per anni quello di programmatore RPG, Basic e Cobol su sistemi mainframe IBM, ambienti CICS e TSO.

    Conosco molto bene html e jscript in ambiente web, e riesco tranquillament a leggere pagine ASP, PHP o altri linguaggi, senza comunque avere know-how.

    Fabio

  5. #5
    bene. spieghi un po' meglio il problema? non si capisce quale sia la "prima pagina" e cosa debba fare esattamente questo pulsante

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    11
    Ok ...

    Dopo aver effettuato il login, gli operatori accedono ad una pagina di menù in cui scelgono la lavorazione a cui sono dedicati in quella giornata (sono operatori multiclient).

    Tramite la scelta di un link di lavorazione, dovranno essere diretti ad una pagina bianca che conterrà solo un pulsante centrale che nomineremo ad hoc.

    Il click su questo pulsante dovrà ridirezionare poi su una nuova pagina ASP che si compila con tutti i dati anagrafici di un record pescato in maniera casuale (o top1 della tabella X where .... campo PIPPO is null) dal db di lavorazione.
    E' quindi necessario che quel determinato record venga in qualche modo lockato, al fine di evitare che un altro operatore contemporaneamente lo possa scegliere generando problemi.

    Quindi lo scenario può prevedere che N operatori facciano click in contemporanea sul pulsante di pagina, per cui una logica di controllo dovrà pescare per ognuno di essi un record diverso dalla stessa tabella di db, effettueranno la telefonata, inseriranno i dati mancanti (o effettueranno modifiche anagrafiche se richieste), e poi con altro pulsante faranno submit, rilasciando quel record, che non verrà più preso in considerazione perchè in un determinato campo (quello indicato con PIPPO nell'esempio di query ruiportato qui sopra) conterrà un valore e quindi rappresenta un record su cui è già stata effettuata una attività.

    Spero sia un pò più chiaro di prima.

    Grazie
    Fabio

  7. #7
    semplice. fai prima una UPDATE del primo record con campo PIPPO=NULL, mettendo dentro PIPPO la sigla dell'operatore (sigla preceduta da un prefisso tipo "xxx"); poi vai in lettura di quel recoord (SELECT where PIPPO="xxx"+sigla operatore), e procedi.


  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    11
    ... si è esattamente quello che ho provato a fare e se devo essere sincero funziona.. ma solo quando il numero degli operatori in contemporanea non supera i 10 / 15.
    Dopodichè il servizio risulta essere sempre più lento ed alla fine il caricamento delle pagine va in timeout, mentre sul server IIS, risulta esserci un problema di deadlock.

    Il sever è un dual processor xeon con 4 giga di memoria, su cui gira solo IIS e quindi non reputerei questo responsabile del fermo, quanto la possibilità che utenti diversi cerchino in qualche modo di fare UPDATE sullo stesso record nello stesso istante ...

    ...

  9. #9
    forse è access che mostra i suoi limiti. prova a passare a MSSQL

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    11
    ... non è possibile in qualche modo impostare un parametro associato ai comandi di collegamento al db, che faccia un lock sul singolo record in modo che nessun altro lo possa in qualche modo editare ?

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.