OdbcException クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ODBC データ ソースから警告またはエラーが返された場合に生成される例外。 このクラスは継承できません。
public ref class OdbcException sealed : System::Data::Common::DbException
public ref class OdbcException sealed : SystemException
public sealed class OdbcException : System.Data.Common.DbException
[System.Serializable]
public sealed class OdbcException : SystemException
[System.Serializable]
public sealed class OdbcException : System.Data.Common.DbException
type OdbcException = class
inherit DbException
[<System.Serializable>]
type OdbcException = class
inherit SystemException
[<System.Serializable>]
type OdbcException = class
inherit DbException
Public NotInheritable Class OdbcException
Inherits DbException
Public NotInheritable Class OdbcException
Inherits SystemException
- 継承
- 継承
- 属性
例
次の例では、データ ソースがないため に を OdbcException 生成し、例外を表示します。
public void ShowOdbcException()
{
string mySelectQuery = "SELECT column1 FROM table1";
OdbcConnection myConnection =
new OdbcConnection("DRIVER={SQL Server};SERVER=MyServer;Trusted_connection=yes;DATABASE=northwind;");
OdbcCommand myCommand = new OdbcCommand(mySelectQuery,myConnection);
try
{
myCommand.Connection.Open();
}
catch (OdbcException 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.ToString() + "\n" +
"Source: " + e.Errors[i].Source + "\n" +
"SQL: " + 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 ShowOdbcException()
Dim mySelectQuery As String = "SELECT column1 FROM table1"
Dim myConnection As New OdbcConnection _
("DRIVER={SQL Server};SERVER=MyServer;Trusted_connection=yes;DATABASE=northwind;")
Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
Try
myCommand.Connection.Open()
Catch e As OdbcException
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.ToString() & ControlChars.Cr _
& "Source: " & e.Errors(i).Source & ControlChars.Cr _
& "SQL: " & 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
注釈
このクラスは、 がサーバーによって生成されたエラーを検出するたびに OdbcDataAdapter 作成されます (クライアント側エラーは標準の共通言語ランタイム例外として発生します)。 常に、 の少なくとも 1 つのインスタンスが OdbcError含まれています。
エラーの重大度レベルが高すぎる場合、サーバーは OdbcConnection を閉じることがあります。 ただし、ユーザーは接続を再び開き、続行できます。
.NET Framework データ プロバイダーの例外処理に関する一般的な情報については、「」を参照してくださいSqlException。
プロパティ
BatchCommand |
の実行時にこれが DbException スローされた場合は、 DbBatch例外をトリガーした特定 DbBatchCommand の を参照します。 (継承元 DbException) |
Data |
例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。 (継承元 Exception) |
DbBatchCommand |
派生クラスでオーバーライドされた場合、 の実行時にこれが DbException スローされた場合は DbBatch、例外をトリガーした特定 DbBatchCommand の を参照します。 (継承元 DbException) |
ErrorCode |
エラーの |
Errors |
.NET Framework ODBC 用データ プロバイダーが生成する例外の詳細情報を提供する、1 つ以上の OdbcError オブジェクトのコレクションを取得します。 |
HelpLink |
この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。 (継承元 Exception) |
HResult |
特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。 (継承元 Exception) |
InnerException |
現在の例外の原因となる Exception インスタンスを取得します。 (継承元 Exception) |
IsTransient |
この DbException によって表されるエラーが一時的なエラーである可能性があるかどうか、つまり他に何も変更せずにトリガー操作を再試行しても成功する可能性があるかどうかを示します。 (継承元 DbException) |
Message |
現在の例外を説明するメッセージを取得します。 |
Message |
現在の例外を説明するメッセージを取得します。 (継承元 Exception) |
Source |
エラーを生成した ODBC ドライバーの名前を取得します。 |
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) |
ToString() |
現在の例外の文字列形式を作成して返します。 (継承元 Exception) |
イベント
SerializeObjectState |
古い.
例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。 (継承元 Exception) |
適用対象
こちらもご覧ください
.NET