For a Microsoft Visual Basic .NET version of this article, see
308043.
For a Microsoft Visual C++ .NET version of this article, see
308651.
This article refers to the following Microsoft .NET Framework Class Library namespace:
IN THIS TASK
SUMMARY
Managed providers can raise several exceptions. To obtain more detailed information about the cause, you need access to provider-specific error information.
back to the top
Requirements
The following list outlines the recommended hardware, software, network
infrastructure, and service packs that you need:
- Microsoft .NET Framework
- Microsoft Visual C# .NET
This article assumes that you are familiar with the following topics:
- Exceptions
- Microsoft OLE DB
- Error handling
back to the top
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.
- Open a new Visual C# .NET Windows Application project.
- Open Form1.cs in code, copy the following code, and paste the code at the beginning of the form:
using System.Data.OleDb;
- Copy the following code into the Form1 Load event:
{
OleDbConnection cn
= new OleDbConnection("Provider=SQLOLEDB.1;Data Source=MyWrongServerName");
try
{
cn.Open();
}
catch (OleDbException ex)
{
for (int i = 0; i < ex.Errors.Count; i++)
{
MessageBox.Show("Index #" + i.ToString() + "\n" +
"Message: " + ex.Errors[i].Message + "\n" +
"Native: " + ex.Errors[i].NativeError.ToString() + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"SQL: " + ex.Errors[i].SQLState + "\n");
}
}
}
- Run the application. A message box should appear after 10 to 15 seconds.
back to the top
Troubleshooting
If you have a server named "MyWrongServerName," you may not receive an error.
back to the top