Aracılığıyla paylaş


OdbcException Sınıf

Tanım

Bir ODBC veri kaynağı tarafından bir uyarı veya hata döndürülürken oluşturulan özel durum. Bu sınıf devralınamaz.

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
Devralma
OdbcException
Devralma
Devralma
Öznitelikler

Örnekler

Aşağıdaki örnek eksik bir veri kaynağı nedeniyle bir OdbcException oluşturur ve ardından özel durumu görüntüler.

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

Açıklamalar

Bu sınıf, sunucu tarafından oluşturulan bir hatayla karşılaştığında OdbcDataAdapter oluşturulur (İstemci tarafı hataları standart ortak dil çalışma zamanı özel durumları olarak oluşturulur.). Her zaman en az bir örneği OdbcErroriçerir.

Hatanın önem derecesi çok büyükse, sunucu öğesini OdbcConnectionkapatabilir. Ancak kullanıcı bağlantıyı yeniden açabilir ve devam edebilir.

.NET Framework veri sağlayıcısının özel durumlarını işleme hakkında genel bilgi için bkzSqlException. .

Özellikler

BatchCommand

Bu DbException bir DbBatchyürütülürken oluşturulduysa, özel durumu tetikleyen özel DbBatchCommand duruma başvurur.

(Devralındığı yer: DbException)
Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan bir anahtar/değer çifti koleksiyonu alır.

(Devralındığı yer: Exception)
DbBatchCommand

Türetilmiş bir sınıfta geçersiz kılındığında, bu DbException bir DbBatchyürütülürken oluşturulduysa, özel durumu tetikleyen özel DbBatchCommand duruma başvurur.

(Devralındığı yer: DbException)
ErrorCode

HRESULT Hatanın değerini alır.

(Devralındığı yer: ExternalException)
Errors

ODBC için .NET Framework Veri Sağlayıcısı tarafından oluşturulan özel durumlar hakkında ayrıntılı bilgi veren bir veya daha fazla OdbcError nesneden oluşan bir koleksiyonu alır.

HelpLink

Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar.

(Devralındığı yer: Exception)
HResult

Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT'u alır veya ayarlar.

(Devralındığı yer: Exception)
InnerException

Exception Geçerli özel duruma neden olan örneği alır.

(Devralındığı yer: Exception)
IsTransient

Bunun DbException temsil ettiği hatanın geçici bir hata olup olmadığını gösterir; örneğin, tetikleme işlemini yeniden denemenin başka bir değişiklik olmadan başarılı olup olmayacağını gösterir.

(Devralındığı yer: DbException)
Message

Geçerli özel durumu açıklayan bir ileti alır.

Message

Geçerli özel durumu açıklayan bir ileti alır.

(Devralındığı yer: Exception)
Source

Hatayı oluşturan ODBC sürücüsünün adını alır.

SqlState

Bunu destekleyen veritabanı sağlayıcıları için, veritabanı işleminin başarısını veya başarısızlığını gösteren standart bir SQL 5 karakterlik dönüş kodu içerir. İlk 2 karakter dönüş kodunun sınıfını (örneğin hata, başarı) temsil ederken, son 3 karakter alt sınıfı temsil ederek hata senaryolarının veritabanı taşınabilir bir şekilde algılanmasını sağlar.

Desteklemeyen veritabanı sağlayıcıları için veya uygulanabilir olmayan hata senaryoları için içerir null.

(Devralındığı yer: DbException)
StackTrace

Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır.

(Devralındığı yer: Exception)
TargetSite

Geçerli özel durumu oluşturan yöntemini alır.

(Devralındığı yer: Exception)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetBaseException()

Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan değerini döndürür Exception .

(Devralındığı yer: Exception)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

Bu üye geçersiz kılar GetObjectData(SerializationInfo, StreamingContext).

GetType()

Geçerli örneğin çalışma zamanı türünü alır.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: Exception)
ToString()

Hatanın HRESULT değerini içeren bir dize döndürür.

(Devralındığı yer: ExternalException)

Ekinlikler

SerializeObjectState
Geçersiz.

Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.