Errore 3447: Inizializzazione di VBAJET32.DLL non riuscita

NOTA: questa pagina contiene informazioni tecniche destinate a personale esperto, espresse in linguaggio tecnico. Queste informazioni non sono destinate all'utente finale, dato che un errore nelle operazioni suggerite potrebbe danneggiare il funzionamento di Windows.

Questo è un errore restituito dal supporto di database di Microsoft Access. L'errore si verifica quando le DLL che compongono DAO sono mancanti oppure non appartengono tutte alla stessa versione. Il problema si verifica generalmente in seguito all'installazione di un altro programma che non aggiorna correttamente le DLL che utilizza.

Questo problema è discusso a fondo in un articolo (Q192934) della Knowledge Base di Microsoft. Di seguito riportiamo una traduzione adattata di questo documento.

Prima di tutto è possibile avviare F-Gest e selezionare il menu ?/Informazioni su F-Gest... : si aprirà la finestra di informazioni sul programma. Da questa finestra premete il pulsante Informazioni sul sistema: si aprirà una finestra che presenta l'elenco delle DLL utilizzate dal programma con i relativi numeri di versione. Queste informazioni potrebbero risultare utili per diagnosticare il problema.

DAO è formato dalle seguenti DLL, che nel CD di F-Gest hanno le versioni specificate. Si tratta di JET 3.50 con un service pack rilasciato in seguito da Microsoft. I files sono tutti presenti nella cartella "\Windows\System" tranne DAO350.dll che si trova nella cartella "\Programmi\File comuni\Microsoft Shared\DAO".

DAO350.dll     3.50.3602.0
MSJet35.dll    3.51.623.4
MSJInt35.dll   3.50.3602.5  
MSJtEr35.dll   3.50.3602.0  
MSRD2x35.dll   3.50.3602.0
MSRepl35.dll   3.51.623.0   
MSVCRT40.dll   4.10.6038
VB5DB.dll      5.00.3724
VBAJet32.dll   5.0.7122 

In realtà MSVCRT40.dll viene usata in generale da Windows, non fa parte in senso stretto di DAO e quasi sicuramente avrà un numero di versione successivo.

Anche gli altri files di DAO potrebbero avere numeri di versione successivi se sono stati installati programmi creati con Microsoft Visual Basic 6. In questo caso i numeri di versione forniti da Microsoft sono i seguenti:

DAO350.dll     3.51.1608.0
ExpSrv.dll     6.0.8167
MSJet35.dll    3.51.0623.4
MSJInt35.dll   3.51.0623.0
MSJtEr35.dll   3.51.0623.0
MSRepl35.dll   3.51.0623.0
MSRD2x35.dll   3.51.0623.0
MSVCRT40.dll   4.21.0000 o successivo
VB5DB.dll      6.00.8169
VBAJet32.dll   6.1.8167 

Va notato che in questo caso è presente una dll in più, che è stata aggiunta con questa versione di Visual Basic.

Le azioni suggerite dalla Microsoft sono le seguenti.
Se vi accorgete che i numeri di versione non sono corretti eseguite i passi da 1 a 5. Se vi accorgete che alcuni file sono mancanti applicate il passo 3 ai soli files presenti nel sistema.

1) Effettuate una copia di sicurezza delle dll elencate qui sopra.

2) Disinstallate F-Gest. Questa operazione causa la perdita di tutti i dati introdotti dal cliente negli archivi, per cui è necessario salvare i dati prima di disinstallare e ripristinarli dopo aver reinstallato. E' sufficiente salvare altrove nell'hard-disk il file F-Gest.mdb, che contiene tutti gli archivi. Vedi anche come reinstallare F-Gest.

3) Rimuovete la registrazione per le dll che vengono registrate. Premete il pulsante Start/Avvio e selezionate Esegui. Digitate le seguenti righe, una per volta, e premete il pulsante OK per eseguirle.

Regsvr32.exe /u DAO350.dll
Regsvr32.exe /u MSJet35.dll
Regsvr32.exe /u MSRD2x35.dll

4) Eliminate tutte le dll che compongono DAO, tranne MSVCRT40.dll.

5) Reinstallate F-Gest. Il programma di installazione si accorgerà che i files che compongono DAO sono mancanti ed installerà quelli presenti sul CD, che che sono un gruppo coerente e funzionante.

E' importante rendersi conto di un possibile inconveniente causato da questa procedura. Al termine delle operazioni viene installata la versione di DAO che veniva fornita con VB5. Se nel computer sono presenti programmi che usano DAO e che sono stati scritti con VB6 questi ultimi potrebbero non funzionare correttamente. Se ci si trova in questa situazione si potrebbero eseguire le operazioni suggerite disinstallando e reinstallando il programma scritto in VB6 (invece di F-Gest) che installerà una versione più recente di DAO. E' però necessario essere sicuri che questo programma non sia quello che ha causato il problema con una procedura di installazione non corretta.