HOW TO: Ottenere errori sottostanti del provider utilizzando ADO.NET in Visual Basic .NET

Traduzione articoli Traduzione articoli
Identificativo articolo: 308043 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I308043
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

I provider gestiti possono generare varie eccezioni. Per informazioni più dettagliate sulla causa, è necessario accedere alle informazioni sugli errori specifiche del provider. In questo articolo viene spiegato come ottenere gli errori sottostanti del provider utilizzando ADO.NET in Visual Basic .NET.


Requisiti

Nell'elenco che segue vengono indicati l'hardware, il software, l'infrastruttura di rete e i Service Pack necessari:
  • Microsoft .NET Framework
  • Microsoft Visual Basic .NET
In questo articolo si presume la conoscenza dei seguenti argomenti:
  • Eccezioni
  • Microsoft OLE DB
  • Gestione degli errori

Procedure per ottenere i messaggi sottostanti del provider

Per ottenere informazioni più dettagliate riguardo alla causa di un errore, utilizzare un wrapper per racchiudere il codice in un blocco try-catch, intercettare l'eccezione ed elaborare l'insieme Errors dalla classe OleDbException.
  1. Avviare Microsoft Visual Studio .NET e creare un nuovo progetto applicazione Windows in Visual Basic .NET. In base all'impostazione predefinita viene creato il progetto Form1.
  2. Aprire Form1.vb nel codice, copiare il codice seguente e incollarlo all'inizio del form:
    Imports System.Data.OleDb
  3. Copiare il seguente codice nell'evento Load di Form1:
    Dim ex As OleDbException
    Dim cn As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB.1;Data Source=MyWrongServerName")
    Try
        cn.Open()
    Catch ex
        Dim i As Integer
        For i = 0 To ex.Errors.Count - 1
            MessageBox.Show("Index #" + i.ToString() + ControlChars.Cr _
               + "Message: " + ex.Errors(i).Message + ControlChars.Cr _
               + "Native: " + ex.Errors(i).NativeError.ToString() + ControlChars.Cr _
               + "Source: " + ex.Errors(i).Source + ControlChars.Cr _
               + "SQL: " + ex.Errors(i).SQLState + ControlChars.Cr)
        Next i
    End Try
  4. Eseguire l'applicazione. Dopo 10-15 secondi dovrebbe essere visualizzata una finestra di messaggio.

Risoluzione dei problemi

Se si dispone di un server chiamato "MyWrongServerName" l'errore potrebbe non essere visualizzato.


RIFERIMENTI

Per ulteriori informazioni sui provider .NET gestiti, vedere il seguente sito Web MSDN (informazioni in lingua inglese):
Inside .NET Managed Providers
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndive/html/data010112001.asp

Proprietà

Identificativo articolo: 308043 - Ultima modifica: mercoledì 26 febbraio 2014 - Revisione: 2.0
Le informazioni in questo articolo si applicano a
  • Microsoft ADO.NET (fornito con .NET Framework)
  • Microsoft Visual Basic .NET 2002 Standard Edition
Chiavi: 
kbnosurvey kbarchive kbhowto kbhowtomaster KB308043
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.

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