OleDbException Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wyjątek zgłaszany, gdy dostawca bazowy zwraca ostrzeżenie lub błąd źródła danych OLE DB. Klasa ta nie może być dziedziczona.
public ref class OleDbException sealed : System::Data::Common::DbException
public ref class OleDbException sealed : System::Runtime::InteropServices::ExternalException
public sealed class OleDbException : System.Data.Common.DbException
[System.Serializable]
public sealed class OleDbException : System.Runtime.InteropServices.ExternalException
[System.Serializable]
public sealed class OleDbException : System.Data.Common.DbException
type OleDbException = class
inherit DbException
[<System.Serializable>]
type OleDbException = class
inherit ExternalException
[<System.Serializable>]
type OleDbException = class
inherit DbException
Public NotInheritable Class OleDbException
Inherits DbException
Public NotInheritable Class OleDbException
Inherits ExternalException
- Dziedziczenie
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład generuje element OleDbException z powodu braku źródła danych, a następnie wyświetla wyjątek.
public void ShowOleDbException()
{
string mySelectQuery = "SELECT column1 FROM table1";
OleDbConnection myConnection =
new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=");
OleDbCommand myCommand = new OleDbCommand(mySelectQuery,myConnection);
try
{
myCommand.Connection.Open();
}
catch (OleDbException e)
{
string errorMessages = "";
for (int i=0; i < e.Errors.Count; i++)
{
errorMessages += "Index #" + i + "\n" +
"Message: " + e.Errors[i].Message + "\n" +
"NativeError: " + e.Errors[i].NativeError + "\n" +
"Source: " + e.Errors[i].Source + "\n" +
"SQLState: " + e.Errors[i].SQLState + "\n";
}
System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
log.Source = "My Application";
log.WriteEntry(errorMessages);
Console.WriteLine("An exception occurred. Please contact your system administrator.");
}
}
Public Sub ShowOleDbException()
Dim mySelectQuery As String = "SELECT column1 FROM table1"
Dim myConnection As New OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=")
Dim myCommand As New OleDbCommand(mySelectQuery, myConnection)
Try
myCommand.Connection.Open()
Catch e As OleDbException
Dim errorMessages As String
Dim i As Integer
For i = 0 To e.Errors.Count - 1
errorMessages += "Index #" & i.ToString() & ControlChars.Cr _
& "Message: " & e.Errors(i).Message & ControlChars.Cr _
& "NativeError: " & e.Errors(i).NativeError & ControlChars.Cr _
& "Source: " & e.Errors(i).Source & ControlChars.Cr _
& "SQLState: " & e.Errors(i).SQLState & ControlChars.Cr
Next i
Dim log As New System.Diagnostics.EventLog()
log.Source = "My Application"
log.WriteEntry(errorMessages)
Console.WriteLine("An exception occurred. Please contact your system administrator.")
End Try
End Sub
Uwagi
Ta klasa jest tworzona za każdym razem, gdy dostawca danych .NET Framework dla OLE DB napotka błąd wygenerowany na serwerze. (Błędy po stronie klienta są zgłaszane jako standardowe wyjątki środowiska uruchomieniowego języka wspólnego). OleDbException zawsze zawiera co najmniej jedno wystąpienie elementu OleDbError.
Jeśli ważność błędu jest zbyt duża, serwer może zamknąć plik OleDbConnection. Jednak użytkownik może ponownie otworzyć połączenie i kontynuować.
Aby uzyskać ogólne informacje o obsłudze wyjątków dla dostawcy danych .NET Framework, zobacz SqlException.
Właściwości
BatchCommand |
Jeśli ten DbException błąd został zgłoszony podczas wykonywania elementu DbBatch, odwołuje się do określonego elementu DbBatchCommand , który wyzwolił wyjątek. (Odziedziczone po DbException) |
Data |
Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku. (Odziedziczone po Exception) |
DbBatchCommand |
Po przesłonięciu w klasie pochodnej, jeśli został on DbException zgłoszony podczas wykonywania DbBatchelementu , odwołuje się do określonego, DbBatchCommand który wyzwolił wyjątek. (Odziedziczone po DbException) |
ErrorCode |
Pobiera element HRESULT błędu. |
Errors |
Pobiera kolekcję jednego lub większej liczby OleDbError obiektów, które zawierają szczegółowe informacje o wyjątkach generowanych przez dostawcę danych .NET Framework dla OLE DB. |
HelpLink |
Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem. (Odziedziczone po Exception) |
HResult |
Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku. (Odziedziczone po Exception) |
InnerException |
Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek. (Odziedziczone po Exception) |
IsTransient |
Wskazuje, czy błąd reprezentowany przez ten DbException błąd może być błędem przejściowym, tj. w przypadku ponawiania próby wykonania operacji wyzwalania może zakończyć się powodzeniem bez żadnej innej zmiany. (Odziedziczone po DbException) |
Message |
Pobiera tekst opisujący błąd. |
Message |
Pobiera komunikat opisujący bieżący wyjątek. (Odziedziczone po Exception) |
Source |
Pobiera nazwę dostawcy OLE DB, który wygenerował błąd. |
Source |
Pobiera lub ustawia nazwę aplikacji lub obiektu, który powoduje błąd. (Odziedziczone po Exception) |
SqlState |
W przypadku dostawców baz danych, którzy go obsługują, zawiera standardowy kod powrotny SQL 5 znaków wskazujący powodzenie lub niepowodzenie operacji bazy danych. Pierwsze 2 znaki reprezentują klasę kodu powrotnego (np. błąd, powodzenie), podczas gdy ostatnie 3 znaki reprezentują podklasę, umożliwiając wykrywanie scenariuszy błędów w sposób przenośny bazy danych. W przypadku dostawców baz danych, którzy go nie obsługują, lub w scenariuszach błędów, których nie można zastosować, zawiera element |
StackTrace |
Pobiera reprezentację ciągu natychmiastowych ramek w stosie wywołań. (Odziedziczone po Exception) |
TargetSite |
Pobiera metodę, która zgłasza bieżący wyjątek. (Odziedziczone po Exception) |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetBaseException() |
W przypadku zastąpienia w klasie pochodnej zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku. (Odziedziczone po Exception) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Przestarzałe.
Ten element członkowski przesłania element GetObjectData(SerializationInfo, StreamingContext). |
GetType() |
Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia. (Odziedziczone po Exception) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg zawierający wartość HRESULT błędu. (Odziedziczone po ExternalException) |
Zdarzenia
SerializeObjectState |
Przestarzałe.
Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku zawierającego serializowane dane o wyjątku. (Odziedziczone po Exception) |