2010-12-02 16 views
8

Olası Çoğalt:
How to check if connection string is valid?
SqlConnection dizesinin çalışıp çalışmadığını sınamak için standart bir .NET yolu var mı?

Şu anda böyle yapıyorum:

internal bool CheckConnection() 
{ 
    using (SqlConnection testConn = new SqlConnection(this.ConnectionString)) 
    { 
     try 
     { 
      testConn.Open(); 
     } 
     catch (SqlException) 
     { 
      return false; 
     } 
    } 
    return true; 
} 

Bunu yapmak için daha iyi bir yolu var mı?

+0

istisnasına göre Number'a bağlı olarak başarısız. Bu bir kopyasıdır. Yapabilseydim silerdim. – Crisfole

cevap

4

Bunu yapmanın yolu budur. Diğer bazı istisna türlerini de ele almayı düşünmelisiniz. Bir sql sorunun yanında bir db sunucusuna other reasons why you don't connect olabilir.

Connection.Open, SqlException'a ek olarak InvalidOperationException ve ArgumentException'ı da atabilir. Ayrıca, .Open çağrıları yapan API'lar, kodunuza ekleyebilecek başka tür istisnalar da atabilir. Aslında, bu, temel istisnanın üstesinden gelmek ve mesajını kullanıcıya göstermesi tercih edilebilecek nadir durumlardan biridir. (Genel kural sadece belirli istisnalar idare etmektir.)

+1

Çok doğru: Veritabanı geçerli olabilir ancak ağ kapalı, sunucu yeniden başlatılıyor vb. – JLWarlow

0

NOP, ... o

Ne SqlException ve biraz daha bilgi iade yakalıyor olabilir ait ase inc tek yolu var değil

İlgili konular