OdbcException クラス
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
ODBC データ ソースから警告またはエラーが返された場合に生成される例外。このクラスは継承できません。
この型のすべてのメンバの一覧については、OdbcException メンバ を参照してください。
System.Object
System.Exception
System.SystemException
System.Data.Odbc.OdbcException
<Serializable>
NotInheritable Public Class OdbcException Inherits SystemException
[C#]
[Serializable]
public sealed class OdbcException : SystemException
[C++]
[Serializable]
public __gc __sealed class OdbcException : public SystemException
[JScript]
public
Serializable
class OdbcException extends SystemException
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
このクラスは、サーバーが生成したエラーを OdbcDataAdapter が検出するたびに作成されます。クライアント側のエラーは、標準の共通言語ランタイム例外として発生します。このクラスには、常に、 OdbcError のインスタンスが少なくとも 1 つ含まれます。
エラーの重大度レベルが非常に高い場合は、サーバーが OdbcConnection を閉じることがあります。ただし、ユーザーは接続を再び開いて、処理を継続できます。
使用例
[Visual Basic, C#, C++] データ ソースが見つからないために発生する OdbcException を生成し、その例外を表示する例を次に示します。
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 System.Diagnostics.EventLog = 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
[C#]
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.");
}
}
[C++]
public:
void ShowOdbcException()
{
String* mySelectQuery = S"SELECT column1 FROM table1";
OdbcConnection* myConnection = new OdbcConnection(S"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 = S"";
for (int i=0; i < e->Errors->Count; i++)
{
errorMessages = String::Concat(
S"Index #: ", __box(i), S"\n",
S"Message: ", e->Errors->Item[i]->Message, S"\n",
S"NativeError: ", e->Errors->Item[i]->NativeError, S"\n",
S"Source: ", e->Errors->Item[i]->Source, S"\n",
S"SQL: ", e->Errors->Item[i]->SQLState, S"\n");
}
System::Diagnostics::EventLog* log = new System::Diagnostics::EventLog();
log->Source = S"My Application";
log->WriteEntry(errorMessages);
Console::WriteLine(S"An exception occurred. Please contact your system administrator.");
}
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Data.Odbc
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Data (System.Data.dll 内)
参照
OdbcException メンバ | System.Data.Odbc 名前空間 | OdbcError | OdbcErrorCollection