SqlError Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SQL Server tarafından döndürülen uyarı veya hatayla ilgili bilgileri toplar.
public ref class SqlError sealed
[System.Serializable]
public sealed class SqlError
public sealed class SqlError
[<System.Serializable>]
type SqlError = class
type SqlError = class
Public NotInheritable Class SqlError
- Devralma
-
SqlError
- Öznitelikler
Örnekler
Aşağıdaki örnek koleksiyondaki her SqlError birini SqlErrorCollection görüntüler.
using Microsoft.Data.SqlClient;
using System.Text;
class Program
{
static void Main()
{
string s = GetConnectionString();
ShowSqlException(s);
Console.ReadLine();
}
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
DisplaySqlErrors(ex);
}
}
}
private static void DisplaySqlErrors(SqlException exception)
{
for (int i = 0; i < exception.Errors.Count; i++)
{
Console.WriteLine("Index #" + i + "\n" +
"Error: " + exception.Errors[i].ToString() + "\n");
}
Console.ReadLine();
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file.
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI";
}
}
Açıklamalar
Bu sınıf, bir hata oluştuğunda SQL Server için .NET Framework Veri Sağlayıcısı tarafından oluşturulur. örneği SqlError , tarafından oluşturulur ve yönetilir SqlErrorCollectionve bu da sınıfı tarafından SqlException oluşturulur.
Önem derecesi 10 veya daha az olan iletiler bilgilendiricidir ve kullanıcının girdiği bilgilerdeki hatalardan kaynaklanan sorunları gösterir. 11 ile 16 arasında önem derecesi düzeyleri kullanıcı tarafından oluşturulur ve kullanıcı tarafından düzeltilebilir. 17 ile 25 arasında önem derecesi, yazılım veya donanım hatalarını gösterir. Düzey 17, 18 veya 19 hatası oluştuğunda, belirli bir deyimi yürütemeseniz de çalışmaya devam edebilirsiniz.
Önem SqlConnection düzeyi 19 veya daha az olduğunda açık kalır. Önem derecesi 20 veya daha yüksek olduğunda, sunucu genellikle öğesini SqlConnectionkapatır. Ancak kullanıcı bağlantıyı yeniden açabilir ve devam edebilir. Her iki durumda da komutunu yürüten yöntem tarafından bir SqlException oluşturulur.
SQL Server tarafından oluşturulan hatalar hakkında daha fazla bilgi için bkz. Veritabanı Altyapısı Hatalarının Nedeni ve Çözümü. Önem derecesi düzeyleri hakkında daha fazla bilgi için bkz. Veritabanı Altyapısı Hata Önem Dereceleri.
Özellikler
| Class |
SQL Server döndürülen hatanın önem düzeyini alır. |
| LineNumber |
Transact-SQL komut toplu işleminin veya hatayı içeren saklı yordamın içindeki satır numarasını alır. |
| Message |
Hatayı açıklayan metni alır. |
| Number |
Hata türünü tanımlayan bir sayı alır. |
| Procedure |
Hatayı oluşturan saklı yordamın veya uzak yordam çağrısının (RPC) adını alır. |
| Server |
Hatayı oluşturan SQL Server örneğinin adını alır. |
| Source |
Hatayı oluşturan sağlayıcının adını alır. |
| State |
Bazı hata iletileri, Veritabanı Altyapısı kodunda birden çok noktada oluşturulabilir. Örneğin, birkaç farklı koşul için 1105 hatası oluşturulabilir. Hata oluşturan her belirli koşul benzersiz bir durum kodu atar. |
Yöntemler
| ToString() |
Hata iletisinin tam metnini alır. |