Errore MySQL Invalid attempt to access a field before calling Read() quando si esegue un backup/export e lo si importa in un’istanza su hosting shared

Dopo aver lavorato in locale con MySQL è chiaramente necessario portare il database da locale a online/remoto.

Questa procedura avviene tramite export del database locale (ad esempio con MYSQL Workbench) e poi importazione in remoto sul server online tramite procedura in PHPMyAdmin. La procedura di per sè è molto semplice in quanto l’interfaccia web chiede pochissime informazioni durante l’import.

Può succedere però che per motivi di versioni di MySQL, il database venga importato correttamente ma in un formato incompatibile con le chiamate SQL che si eseguono con l’applicativo (spesso riguardanti nomi e funzione di LIKE).

L’errore ritornato però, investigando nel log dell’applicativo, è del tutto generico:

Invalid attempt to access a field before calling Read()

La connessione al database sembra funzionare ed essere inizializzata correttamente ma la lettura fallisce indicando quell’errore (che tra l’altro riguarda problemi sulle stringhe e troverete online e su Stackoverflow miriadi di esempi).

La soluzione sta nel formato di compatibilità del database importato.
Per risolvere è necessario “droppare” tutte le tabelle del DB (non state a ricostruire il database da zero) e reimportare con PHPMyAdmin il database avendo cura di selezionare l’opzione “SQL compatibility mode” uguale a “MYSQL40” (e non lasciare l’opzione di default).

https://www.desdinova.it
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)
Daniele Ferla
Aiuto aziende e professionisti che hanno bisogno di sviluppare in modo creativo, alternativo ed efficace la loro identità digitale e che desiderano ottenere visibilità e risultati concreti attraverso lo sviluppo di strumenti online dall'elevata innovazione e personalizzazione (3D, Realtà Virtuale, Realtà Aumentata, Advergame, etc)

Must Read