FIX: Disco o errore di rete con Data Access Objects

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 114771
Dichiarazione di non responsabilità per articoli della Microsoft Knowledge Base su prodotti non più supportati
Questo articolo è stato scritto sui prodotti per cui Microsoft non offre più supporto. L’articolo, quindi, viene offerto ‘così come è’ e non verrà più aggiornato.
Sintomi
Errore 3043 (errore del disco o rete) può verificarsi quando si esegue multipleinstances di un programma Visual Basic o l'esecuzione di più programmi e allinstances o i programmi eseguono l'accesso ai dati sul database stesso.

Se il programma esegue in modo non esplicito Chiudi di che accedere a tutti i dati oggetti (tramite db.close, ad esempio), quindi l'errore si verifica quando il secondinstance del programma tenta di utilizzare un oggetto di accesso ai dati.
Workaround
Chiudere in modo esplicito tutti oggetti (tabelle, i dynaset, snapshot e database). Ad esempio, se il programma presenta una qualsiasi di followingstatements
   Dim db As database   Dim ds As dynaset   Dim sn As snapshot   Dim tb As table   Set db = OpenDatabase("<some database file>")   Set ds = db.CreateDynaset("<some query>")   Set sn = db.CreateSnapshot("<some query>")   Set tb = db.OpenTable("<some table name>")				

eseguire le seguenti istruzioni di chiusura prima della chiusura del programma:
   tb.close   ds.close   sn.close   db.close				

Nota: Se si inserisce il. Chiudere i metodi degli eventi di scaricamento o QueryUnload, assicurarsi di che richiamare questi eventi prima che termini il programma utilizzando l'istruzione theUnload (ad esempio, Unload Me). Prestare attenzione nell'utilizzo di Endstatement; gli eventi di scaricamento o QueryUnload non vengono richiamate.
Status
Questo bug è stato corretto in Microsoft Visual Basic versione 4.0 per Windows.
Informazioni

Procedura per riprodurre problema

  1. Avviare Visual Basic e aprire la VISDATA. Progetto MAK nella directory \VB\SAMPLES\VISDATA (ALT, F, O).
  2. Dal menu File, scegliere Make EXE File per creare un file eseguibile.
  3. Chiudere Visual Basic e fase File Manager.
  4. Passare alla directory \VB\SAMPLES\VISDATA e fare doppio clic su VISDATA. EXE per eseguire il programma. Ripetere questo passaggio in modo che siano in esecuzione due istanze di VISDATA.
  5. In entrambe le istanze di VISDATA, aprire la BIBILIO. Database MDB situato nella directory di Visual Basic \VB.
  6. Chiudere un'istanza di VISDATA. EXE
  7. Avviare un'altra istanza di VISDATA. EXE e tenta di aprire la per le informazioni BIBLIOGRAFICHE. Nuovo database MDB. Si otterrà l'errore 3043 - "Disco o errore di rete".
buglist3.00 fixlist3.00 3.00

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 114771 - Ultima revisione: 05/07/2016 09:25:00 - Revisione: 4.0

  • kbbug kbfix kbmt KB114771 KbMtit
Feedback