PRB: Messaggio di errore "Formato di database non riconosciuto" quando si effettua l'aggiornamento ad Access 2000 o 2002

Traduzione articoli Traduzione articoli
Identificativo articolo: 238401 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I238401
Espandi tutto | Chiudi tutto

Sintomi

Quando si tenta di accedere a un database di Access 2000 o di Access 2002, è possibile che in Visual Basic venga visualizzato uno dei seguenti messaggi di errore.

Se si utilizza Microsoft ActiveX Data Objects (ADO) o il controllo dati ADO, verrà visualizzato un messaggio di errore analogo al seguente:
Errore di run-time -2147467259 Formato di database XXX non riconosciuto
Se si utilizza Data Access Objects (DAO) o il controllo dati generico DAO, verrà visualizzato un messaggio di errore analogo al seguente:
Errore di run-time 3343 Formato di database XXX non riconosciuto

Cause

In Access 2000 e Access 2002 viene utilizzato il modulo di gestione di database Jet 4.0 che crea file di database in formato Jet 4.0. Questo formato non viene riconosciuto dai componenti di Jet 3.5.
  • Se si utilizza ADO, quando si tenta di connettersi ad Access 2000 o 2002 tramite il provider Microsoft.Jet.OLEDB.3.51 verrà visualizzato l'errore -2147467259.
  • Se si utilizza DAO, verrà visualizzato l'errore 3343 quando si utilizza Microsoft DAO 3.51 Object Library.
  • Il controllo dati generico DAO non funziona con database di Access 2000 o 2002 e viene sempre generato l'errore 3343 a meno che venga utilizzato come descritto nella sezione "Risoluzione" di questo articolo. Questo si verifica perché tale controllo è basato su Jet 3.51 e riconosce solo formati di database di Jet versione 3.51 o precedenti.

Risoluzione

Per risolvere questo problema, utilizzare uno dei seguenti metodi:
  • Installare Visual Studio Service Pack 4 o versione successiva. Se si utilizza il controllo dati, modificare la relativa proprietà Connect e impostarla su Access 2000.
  • Per ADO (o per il controllo dati ADO) utilizzare il provider Microsoft.Jet.OLEDB.4.0.
  • Per DAO aggiungere un riferimento a Microsoft DAO 3.6 Object Library.
  • Se si utilizza il controllo dati generico, sarà necessario aprire un recordset DAO 3.6 e impostarlo come origine del controllo dati come indicato di seguito:
    Option Explicit
    Private daoDB36 As Database
    Private rs As DAO.Recordset
    Dim sPath As String
    
    Private Sub Form_Load()
    sPath = _
    "C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb"
    Set daoDB36 = DBEngine(0).OpenDatabase(sPath)
    Set rs = daoDB36.OpenRecordset("Customers")
    Set Data1.Recordset = rs
    End Sub
    					
  • Questo problema è stato risolto con Visual Basic Service Pack 4. È stato aggiunto un nuovo valore (Access 2000) alla proprietà Connect che consentirà al controllo dati DAO di aprire i database di Access 2000.

Status

Questo problema è stato corretto inizialmente in Visual Studio 6.0 Service Pack 4.Per ulteriori informazioni sui service pack di Visual Studio, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
194022 Reperimento e utilizzo dei service pack per Visual Studio 6.0

194295 Determinazione dei Service Pack di Visual Studio installati
Per scaricare la versione più recente del service pack di Visual Studio, visitare il seguente sito Web Microsoft (informazioni in lingua inglese):
http://msdn2.microsoft.com/en-us/vstudio/Aa718353.aspx

Riferimenti

Per ulteriori informazioni su Jet 4.0, fare riferimento alla documentazione di Access 2000.

Per ulteriori informazioni su ADO e DAO, fare riferimento alla documentazione di Visual Basic.

Per ulteriori informazioni sul messaggio di errore "Formato di database non riconosciuto", eseguire una ricerca nella libreria MSDN fornita con Visual Basic.

Proprietà

Identificativo articolo: 238401 - Ultima modifica: martedì 7 agosto 2007 - Revisione: 3.2
Le informazioni in questo articolo si applicano a
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
Chiavi: 
kbtophit kbjet kbprb kbctrl kbpubtypekc kbmsccsearch KB238401
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com