Managed providers can raise several exceptions. To obtain
more detailed information about the cause, you need access to provider-specific
error information. This article dicusses how to obtain the underlying provider
errors when using ADO.NET in Visual Basic .NET.
Requirements
The following list outlines the recommended hardware, software,
network infrastructure, and service packs that you need:
- Microsoft .NET Framework
- Microsoft Visual Basic .NET
This article assumes that you are familiar with the following
topics:
- Exceptions
- Microsoft OLE DB
- Error handling
Steps to Obtain Underlying Provider Errors
To obtain more detailed information about the cause of an
exception, wrap your code in a try-catch block, catch the exception, and
process the
Errors collection from the
OleDbException class.
- Start Microsoft Visual Studio .NET, and then create a new
Windows Application project in Visual Basic .NET. Form1 is created by
default.
- Open Form1.vb in code, copy the following code, and paste
the code at the beginning of the form:
Imports System.Data.OleDb
- Copy the following code into the Form1 Load event:
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
- Run the application. A message box should appear after 10
to 15 seconds.
Troubleshooting
If you have a server named "MyWrongServerName," you may not
receive an error.
For more information on .NET managed providers, refer to
the following MSDN Web site: