Bloccare l'eventuale errore in una connessione ODBC

di il
3 risposte

Bloccare l'eventuale errore in una connessione ODBC

Da Access 2010 a 32 bit.
Occasionalmente mi capita una sconnessione di una tabella linkata ad un DB esterno MYSQL via ODBC.
Non sarebbe un gran problema, potrei ritentare dopo un po.
Il problema è che 'on error resume next' non impedisce il blocco con l'errore, ottengo '3146 chiamata non riuscita'.
Ovviamente setwarnings false non risolve nulla.
Il problema si verifica non appena apro un recordset.

A questo punto avrei bisogno o di capire come impedire il messaggio d'errore, o come capire a priori che non devo aprire il recordset perchè la connessione è giù e ritentare la connessione.
La tabella risulta linkata correttamente, ma quando cade la connessione non ho trovato una caratteristica che mi faccia capire che comparirà l'errore.
Per cui magari potrei testare un qualche cambio di stato.
Qualche idea?

3 Risposte

  • Re: Bloccare l'eventuale errore in una connessione ODBC

    Se non usi le transazioni potresti attivare nei parametri ODBC l'opzione AUTO_RECONNECT.

    Resta il fatto che se va giù la connessione, presumibilmente va giù per tutte le tabelle linkate quindi occorre intercettare e gestire l'errore in qualche maniera. Se ottieni sempre l'errore 3146, potresti implementare una riconnessione della/e tabella/e a fronte di questo errore (e magari gestire un loop che ritenta la riconnesione per un n° di volte prima di segnalare il problema).
  • Re: Bloccare l'eventuale errore in una connessione ODBC

    Ok ma il mio problema non è tanto quello di riuscire a riconnettermi, quanto quello di far sì che non esca il messaggio d'errore che interrompe il flusso del codice.
    Funzionasse anche solo 'on error resume next' mi andrebbe bene.
  • Re: Bloccare l'eventuale errore in una connessione ODBC

    Immagino che la richiesta sia 'strana' : mostraci il codice completo (anche) della gestione errori ...
Devi accedere o registrarti per scrivere nel forum
3 risposte