OleDbException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
基になるプロバイダーが OLE DB データ ソースに関する警告またはエラーを返したときにスローされる例外。 このクラスは継承できません。
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
- 継承
- 継承
- 属性
例
次の例では、データ ソースがないため に を OleDbException 生成し、例外を表示します。
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
注釈
このクラスは、.NET Framework Data Provider for OLE DB でサーバーから生成されたエラーが発生するたびに作成されます。 (クライアント側のエラーは、標準の共通言語ランタイム例外としてスローされます)。 OleDbException には常に、 の少なくとも 1 つのインスタンスが OleDbError含まれています。
エラーの重大度レベルが高すぎる場合、サーバーは OleDbConnection を閉じることがあります。 ただし、ユーザーは接続を再び開き、続行できます。
.NET Framework データ プロバイダーの例外処理に関する一般的な情報については、「」を参照してくださいSqlException。
プロパティ
BatchCommand |
の実行時にこれが DbException スローされた場合は、 DbBatch例外をトリガーした特定 DbBatchCommand の を参照します。 (継承元 DbException) |
Data |
例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。 (継承元 Exception) |
DbBatchCommand |
派生クラスでオーバーライドされた場合、 の実行時にこれが DbException スローされた場合は DbBatch、例外をトリガーした特定 DbBatchCommand の を参照します。 (継承元 DbException) |
ErrorCode |
エラーの HRESULT を取得します。 |
Errors |
.NET Framework OLE DB 用データ プロバイダーが生成する例外の詳細情報を提供する、1 つ以上の OleDbError オブジェクトのコレクションを取得します。 |
HelpLink |
この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (継承元 Exception) |
HResult |
特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 (継承元 Exception) |
InnerException |
現在の例外の原因となる Exception インスタンスを取得します。 (継承元 Exception) |
IsTransient |
この DbException によって表されるエラーが一時的なエラーである可能性があるかどうか、つまり他に何も変更せずにトリガー操作を再試行しても成功する可能性があるかどうかを示します。 (継承元 DbException) |
Message |
エラーを説明するテキストを取得します。 |
Message |
現在の例外を説明するメッセージを取得します。 (継承元 Exception) |
Source |
エラーを生成した OLE DB プロバイダーの名前を取得します。 |
Source |
エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。 (継承元 Exception) |
SqlState |
それをサポートしているデータベース プロバイダーの場合、データベース操作の成功または失敗を示す標準的な SQL の 5 文字のリターン コードが含まれます。 最初の 2 文字は、リターン コードのクラス (エラー、成功など) を表します。最後の 3 文字はサブクラスを表し、データベースに移植可能な方法でエラー シナリオを検出できます。 それをサポートしていないデータベース プロバイダーの場合、または該当しないエラー シナリオの場合は、 |
StackTrace |
呼び出し履歴で直前のフレームの文字列形式を取得します。 (継承元 Exception) |
TargetSite |
現在の例外がスローされたメソッドを取得します。 (継承元 Exception) |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetBaseException() |
派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。 (継承元 Exception) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
古い.
このメンバーは GetObjectData(SerializationInfo, StreamingContext) をオーバーライドします。 |
GetType() |
現在のインスタンスのランタイム型を取得します。 (継承元 Exception) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
エラーの HRESULT が格納された文字列を返します。 (継承元 ExternalException) |
イベント
SerializeObjectState |
古い.
例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。 (継承元 Exception) |
適用対象
こちらもご覧ください
.NET