Applicazione vb6 che corrompe il database access spesso

di il
4 risposte

Applicazione vb6 che corrompe il database access spesso

Buongiorno a tutti, mi rendo conto che il titolo sia poco chiaro ma mi trovo di fronte a un problema davvero curioso.
Mi chiamo Roberto e utilizzo vb6 da quando esiste, da anni seguo le vostre discussioni sul forum e adesso ho deciso di chiedere aiuto per un problema che a me pare irrisolvibile.
Sto tentando di risolvere alcuni problemi relativamente a un'applicazione verticale scritta in vb6 con database access che utilizza jet 4 e controlli ADO una situazione vista e stravista. L'applicazione risiede su una macchina windows server 2012 e viene utilizzata da 3/4 persone contemporaneamente.
Attualmente in connessione desktop remoto funziona perfettamente ma se i pc accedono all'applicazione che risiede nella cartella condivisa via rete, circa ogni ora il database si corrompe e va riparato e compattato, tutto succede così improvvisamente magari stampando un report (CRXI R2) oppure inserendo un documento.
Ho provato a spostare l'applicazione e relativo database su uno dei client win 7 e sembra fare lo stesso difetto, la stessa prova l'ho fatta usando un nas disponibile per i backup qui il problema sembra risolto lentezza a parte.
La vostra esperienza può suggerirmi qualcosa ?

Grazie

4 Risposte

  • Re: Applicazione vb6 che corrompe il database access spesso

    Se l'applicazione corrompe il database, significa che è progettata male.
    Su questo non v'è alcun dubbio.
    Io ho applicazioni database, che usano db di Access, che girano da anni in ambiente multi-utente (anche 10-12 utenti) senza colpo ferire, sia da desktop remoto che da LAN.

    Le mie regole di base sono:
    1) Assolutamente NON usare i controlli ADO (ADODC et similia), ma esclusivamente codice ADODB
    2) usare la concorrenza ottimistica (per la multi-utenza)
    3) usare le transazioni
    4) usare le classi per accesso ai dati
    5) compattare il database ogni giorno

    Sul mio sito puoi scaricare il progetto LOGIN PROJECT che è una sorta di applicazione 'template' completa a partire dal login utente (da qui il nome) fino al ciclo completo della gestione dei dati (CRUD, stampa, PDF).
    Magari trovi qualche spunto utile.

    Login Project
    http://nuke.vbcorner.net/Projects/VB60/ProgettoProvaLogin/tabid/73/language/en-US/Default.aspx
  • Re: Applicazione vb6 che corrompe il database access spesso

    Ciao, grazie per l'interessamento.
    Anch'io uso da anni access in multi-utenza e non ho mai avuto di questi problemi, il progetto usa ADO senza controlli giustamente come dici tu e con concorrenza ottimistica (RS.Open Query, CONN, adOpenKeyset, adLockOptimistic).
    Davvero non capisco ma secondo te perchè su winserver da questo problema e ad esempio su un nas no ?

    Grazie ora guardo il tuo progetto
  • Re: Applicazione vb6 che corrompe il database access spesso

    netsol ha scritto:


    Davvero non capisco ma secondo te perchè su winserver da questo problema e ad esempio su un nas no ?
    Personalmente non ho mai avuto problemi su nessuno di questi storage.
  • Re: Applicazione vb6 che corrompe il database access spesso

    Ok, grazie ancora
Devi accedere o registrarti per scrivere nel forum
4 risposte