2009-02-26 12 views
0

Ado.net'i öğrenmeye başladım ve biraz takıldım.SqlConnection.RetrieveStatistics() koleksiyonu doldurmuyor (StatisticsEnabled öğesi true değerine ayarlanmış)

1) SqlConnection.StatisticsEnabled özelliği üzerinden bağlantı istatistiklerini etkinleştirirseniz, SqlConnection örneğinin gerçekleştirdiği eylemler hakkında çeşitli bilgileri (RetrieveStatistics() aracılığıyla) alabilmem gerekir. Bu nedenle, aşağıdaki kodu çağırmadan önce, zaten bir bağlantı açtım ve bir veritabanından bazı değerleri aldım. Bu şekilde istatistikler, komutların nasıl gerçekleştirildiği hakkında bazı bilgiler sağlamalıdır. Ancak koleksiyondan alınan tüm değerler karakter sıfırı döndürür (dizgeye dönüştürüldüğünde). Neden olduğu hakkında bir fikrin var mı? Bazı PC varsayarsak

   ... 
sc.StatisticsEnabled = true; 
IDictionary statistic = sc.RetrieveStatistics(); 
Label1.Text = statistic["BytesReceived"].ToString(); //Label1.Text displays 
                 character”0” 

2) Ne adlar iki sunucudan herhangi belirtmek için() bir bağlantı dizesinde kullanmak istiyorsunuz, iki Sql sunucuları (MySQL sunucusu ve MS SQL Server) çalıştırır?

+0

İstatistikler sunucuda etkinleştirildi mi? – leppie

+0

Eğer sc.StatisticsEnabled = true ise, o zaman evet. –

cevap

0

elimden MSSQLConnectionString [UygAdı] gibi bir şey söyleyebilirim olarak İstatistik sorunuzu asla kullanmadığım bir soruya cevap verin, ancak ConnectionString için farklı bağlantı nesneleri kullanmanız gerekir. Örneğin, bir MySQL veritabanına bağlanmak için SQLConnection nesnesini kullanamazsınız. Örneğin, bir MySQL veritabanına bağlanmak için SQLConnection nesnesini kullanamazsınız. Bir MySQLConnection nesnesi kullanmanız gerekir (link). Farklı bağlantı dizesi seçenekleri here hakkında bilgi alabilirsiniz.

Tek bir bilgisayarda birden çok SQL sunucunuz olabilir ve gerçekten farketmez. Hepsi farklı bir TCP bağlantı noktası kullanırlar (SQL 1433, MySQL 3306).

+0

Merhaba Uhm, Farklı veri sağlayıcıları kullanarak farklı Sql sunucularını tamamen unuttum! PC'de çalışan birkaç MS SQL sunucusunun olduğunu varsaymak gerekirse, en iyi seçeneğim (bağlantı dizesinde) belirli bir MS Sql sunucusunun kullandığı TCP bağlantı noktasını belirtmek olurdu! thanx mate –

0

ben sağladığınız size koduna göre söyleyemem ama benim ilk fikir bağlantı açılışını olmadığını olacağını teşekkür ederim.

Bildiğim kadarıyla iki bağlantı dizeleri için gittiğini ve aynı kutuyu olsaydı ikinci soru, muhtemelen MySQLConnectionString ve [UygAdı] '

İlgili konular