Как получить информацию об ошибках базового поставщика с помощью Microsoft ADO.NET в Microsoft Visual Basic .NET

Переводы статьи Переводы статьи
Код статьи: 308043 - Vizualiza?i produsele pentru care se aplic? acest articol.
Данная статья была ранее опубликована под номером RU308043
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Развернуть все | Свернуть все

В этой статье

Аннотация

Управляемые поставщики в процессе работы могут создавать исключительные ситуации (exception). Для получения детальных сведений о подобном поведении необходимо иметь доступ к специальной информации об ошибках поставщика. В данной статье обсуждается способ получения информации об ошибках базового поставщика с помощью ADO.NET в Visual Basic .NET.


Системные требования

В следующем списке представлены рекомендации по подбору аппаратного и программного обеспечения, сетевой инфраструктуры и пакетов обновления:
  • Microsoft .NET Framework
  • Microsoft Visual Basic .NET
В данной статье подразумевается, что вы обладаете достаточным уровнем знаний в следующих областях программирования:
  • Программные исключительные ситуации (exceptions)
  • Microsoft OLE DB
  • Обработка ошибок

Пример получения информации об ошибках базового поставщика

Для получения более подробной информации о возникновении исключительных ситуаций (exceptions) поместите ваш программный код в блок "try-catch block", сгенерируйте появление исключительной ситуации и приступите к обработке коллекции "Errors" из класса "OleDbException".
  1. Запустите Microsoft Visual Studio .NET и создайте новый проект Windows-приложения в Visual Basic .NET. При этом по умолчанию будет создана форма Form1.
  2. Откройте файл Form1.vb в режиме программного кода, скопируйте в буфер обмена следующий код и вставьте его в начало созданной формы:
    Imports System.Data.OleDb
    
  3. Скопируйте следующий код в объект "Load" формы 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. Запустите созданное приложение. Сообщение об ошибке должно появиться через 10 или 15 секунд.

Возможные проблемы

Если имя вашего сервера "MyWrongServerName", сообщение об ошибке может не появиться.


Ссылки

За дополнительной информацией об управляемых поставщиках в .NET обратитесь на веб-сайт MSDN по следующему адресу:
Inside .NET Managed Providers
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndive/html/data010112001.asp

Свойства

Код статьи: 308043 - Последний отзыв: 21 февраля 2014 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft Visual Basic .NET 2002 Standard Edition
Ключевые слова: 
kbnosurvey kbarchive kbhowto kbhowtomaster kbsystemdata kboledb KB308043

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