26 Ağustos 2011 Cuma

Sql'de Tablo Değişikliklerinde Timeout Hatası

Sql'de tabloda yapacağımız herhangi bir değişiklikte (örneğin, sütun uzunluğu veya index değişikliği gibi..) eğer tablo içindeki veri boyutu fazlaysa timeout hatası verebiliyor. Bu durumda istediğimiz değişikliği yapabilmemiz için Tools/Options/Designers altındaki Transaction time-out after kısmındaki değeri artırmamız yeterli olacaktır. Bu değer 1-65535 aralığında olmalıdır.


21 Ocak 2011 Cuma

DataSet'de Select Distinct

Önce DataView'e çevirip, daha sonra ToTable() metodu ile ilk parametrede distinct yapılıp yapılmayacağı bilgisini ve diğer parametrelerde de sütun isimlerini göndererek datatable'ı alabiliyoruz.
System.Data.DataView Dv = ds.Tables[0].DefaultView; 

DataTable dt = Dv.ToTable(true, "StandardUN", "Aciklama"); 

18 Ağustos 2010 Çarşamba

ReportViewer'da Her Bir Veri Satırını Ayrı Sayfada Gösterme

ReportViewer'ın datasource'ına eklenen her bir satırın (yani dataset'in her bir datarow'unun) ayrı birer sayfada görünmesini istiyorsanız;
  • Raporunuz içindeki elemanları Toolbox'daki List kontrolünün içine koyun.
  • List ekleyince en altta row groups açılıyor. Buradan group properties'e girerek gruplama özelliklerini belirleyebilirsiniz.
Bu şekilde istediğim sonuca ulaştım, fakat çözemediğim bazı sorunlar var. Geliştirme ortamım VS2010. Her kaydın arasına boş bir sayfa ekliyor. Bir de group properties içinde sort özelliği var, eklemek istedim fakat hata vererek izin vermedi. Bunların da çözümlerini bulabilirsem paylaşacağım..


14 Temmuz 2010 Çarşamba

Windows Servis Uygulamasında HttpWebResponse Alma

Daha önce Windows uygulaması olarak yazdığım kodları Windows servise geçirince response boş geliyordu. Örnek kodlar aşağıdadır:


   1:  HttpWebRequest wreq = (HttpWebRequest)System.Net.WebRequest.Create(url);
   2:  System.Net.WebProxy pry = new System.Net.WebProxy("x.x.x.x", 80);
   3:  pry.Credentials = System.Net.CredentialCache.DefaultCredentials;
   4:   
   5:  wreq.Proxy = pry;
   6:  wreq.Method = "GET";
   7:  wreq.Timeout = 3000;
   8:  HttpWebResponse wr = (HttpWebResponse)wreq.GetResponse();
   9:  if (wr.StatusCode == System.Net.HttpStatusCode.OK)
  10:  {
  11:      System.IO.Stream s = wr.GetResponseStream();
  12:      System.Text.Encoding enc = System.Text.Encoding.GetEncoding("windows-1254");
  13:      System.IO.StreamReader readStream = new System.IO.StreamReader(s, enc);
  14:      result = readStream.ReadToEnd();
  15:  }

Bunun sebebi windows formda user account'ının, windows serviste ise network account'ının kullanılmasıymış. Çözüm için, ProjectInstaller.cs içindeki serviceProcessInstaller özelliklerinden Account özelliğini "User" olarak değiştirmek gerekiyor.

1 Haziran 2010 Salı

HTTP 404.17 Not Found Hatası

Web site projesine WCF Servisi ekleyip, gerekli işlemleri yaptıktan sonra, Gözat dediğimde HTTP 404.17 hatası alıyordum. IIS üzerinden açmak istediğimde de sonuç değişmedi. Bir araştırma sonucunda çözümü buldum. Bu arada projem framework 3.5 versiyonunda.
VS2008 Command Prompt’u açtıktan sonra C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation altındaki ServiceModelReg.exe dosyasını sürekleyip command prompta bırakıyoruz ve –i yazıp çalıştırıyoruz:
“ C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe” –i
Sanırım sorun, visual studio IIS’den önce yüklenince WCF bileşenlerinin yüklenmemesinden kaynaklanıyormuş.