Cuma, Eylül 18, 2015

MSSQL Tablo Satır Sayısı ve Boyutu Öğrenme

MSSQL bir veritabanında tablodaki satır sayısını ve boyutunu aşağıdaki sorgu ile öğrenmek mümkün. Şişen db lerdeki problemli tabloyu tespit etmek için faydalı bir yöntem.

CREATE TABLE #RowCountsAndSizes (TabloAdi NVARCHAR(128),rows CHAR(11),    
       reserved VARCHAR(18),data VARCHAR(18),index_size VARCHAR(18),
       unused VARCHAR(18))

EXEC       sp_MSForEachTable 'INSERT INTO #RowCountsAndSizes EXEC sp_spaceused ''?'' '

SELECT     TabloAdi,CONVERT(bigint,rows) AS SatirSayisi,
           CONVERT(bigint,left(reserved,len(reserved)-3)) AS BoyutKB
FROM       #RowCountsAndSizes
ORDER BY   BoyutKB DESC,SatirSayisi DESC,TabloAdi

DROP TABLE #RowCountsAndSizes

Salı, Mayıs 26, 2015

ASP.Net HttpHandlers(ashx) Session Kullanımı

ASP .Net projelerinde sıkça projeye özel handler lar oluşturulur. Örneğin; ajax işlemleri, resim işleme vs... gibi. Kullanıcı tarafından oluşturulan bu handler larda session kullanımı standartta kapalıdır. Ufak bir trik ile session kullanımına açabiliriz.

VS ile oluşturduğum handler(ashx) dosyasının sınıfı standart olarak aşağıdaki gibi tanımlanır;

public class StateChangeModule : IHttpHandler
{
         public void ProcessRequest(HttpContext context)
        {
                      .
                      .
                      .
}

Görüldüğü gibi handler sınıfı, sadece IHttpHandler inteface'ini implemente edilmiş olarak geliyor. Biz bu sınıfa IRequiresSessionState inteface'ini implemente ederek session kullanamına açmış oluruz. 

public class StateChangeModule : IHttpHandler,IRequiresSessionState
{
         public void ProcessRequest(HttpContext context)
         {
                 string myValue = context.Session["userName"];
         }
          
           .
           .
           .      
}

Eğer sadece sessiondan veri okuma yapacaksak IReadOnlySessionState arayüzünü implemente etmek yeterli. Olay bu kadar basit.

Çarşamba, Ekim 23, 2013

SQL Server Management Studio 2008 Remember Password Problemi

CCclener programı sistemi taratıp temizledikten sonra Management Studio da şifre hatırlama(Remember Password) ile ilgili problem yaşamaya başladım. Sorunu aşağıdaki şekilde çözdüm;

UYARI: Aşağıdaki işlemleri yaptıktan sonra bağlantı sırasında "Server Name(Sunucu İsmi)" seçtiğiniz comboboxtaki değerler de silinecektir.

  1. Management Studioyu kapatın.
  2. "C:\Users\%username%\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\" yoluna gidin. Çalıştır'a tırnak içindeki kısmı kopyalayıp enterlamanız yeterli.
  3. SqlStudio.bin dosyasını silin.
  4. Management Studioyu çalıştırın.
Kaynak
Aşağıdaki linkte SQL Server Management Studio 2008 ve 2005 için olan çözümler mevcut.

Salı, Eylül 24, 2013

ASP .Net Hata Mesajlarının Dilini Değiştirme


ASP .Net'te verilen hata mesajlarını dilini değiştirmek için web.config dosyasımızda system.web nodu altına globalization node'unu ekleyerek attributelerini vermek yeterli. Örneğin benim sistemimde hata mesajları Türkçe geliyor. Bunu ingilizce yapmak için system.web node'unu aşağıdaki şekilde düzenliyorum;
 

    

Pazartesi, Kasım 05, 2012

Google analitik ve localhost

Google analitik ile yaptığınız işlemleri localhost dan test etmek için analitik kodu içindeki "_setDomainName" özelliğini "none" yapmak yeterli.


_gaq.push(['_setDomainName', 'none']);

Salı, Eylül 04, 2012

Windows 7 Güncelleme(Windows Update) Problemi!

Genelde Windows güncellemeleri yapmam ve sistemi kurar kurmazda ilk işim güncelleme denetimini kapatmak olur. Gelin görün ki zamanın birinde Visual Studio için güncelleme yapma gereği duydum. Lakin bu seferde, zırt pırt güncelleme bulup kurmam için uyaran Windows bana inat güncelleme yapmama izin vermedi. Verdiği uyarıda aşağıdaki şekildeydi

"Hizmet çalışmadığından Windows Update şu anda güncelleştirmeleri denetleyemiyor. Bilgisayarınızı yeniden başlatmanız gerekebilir."

Google da arayıp taradıktan ve birkaç yöntemi denedikten sonra benim işime yarayan çözüme vakıf oldum. Umarım sizinde işinize yarar.


  1. Komut satırını yönetici olarak çalıştırın. (Başlat/Tüm Programlar/Donatılar yolundan "cmd" yi sağ tıklayıp yönetici olarak çalıştırabilir siniz.)
  2. Daha sonra bu komutu çalıştırın: net stop WuAuServ
  3. Çalıştırı açıp(Başlat/Çalıştır) gelen kutucuğa  %windir% yazıp Tamama tıklayın. Gelen pencereden SoftwareDistribution klasörünün adını değiştirin. (SoftwareDistribution_backup gibi)
  4. Tekrar komut satırını açıp bu komutu yazın: net start WuAuServ
  5. Tekrar Windows güncellemesini çalıştırdığınızda sorunsuz çalışmalı

Perşembe, Temmuz 19, 2012

ASP .Net MVC URL Routing "+" Problemi IIS7

MVC ile yaptığınız sitenin URL kısmında "+" işareti kullanmak istediğinizde aşağıdaki gibi bir hata alıyorsanız;

404.11 Error says “The request filtering module is configured to deny a request that contains a double escape sequence”

Öncelikle Web.config dosyanıza aşağıdaki node'u ekelemeyi deneyin.

<system.webServer>
    <security>
      <requestFiltering allowDoubleEscaping="true" />
    </security>
<system.webServer>

Buna rağmen hala aynı hatayı almaya devam ediyorsanız bu sefer IIS'inize ayar çekmeniz gerekli. Bunun için de aşağıdaki kodu, komut satırında çalılştırmalısınız;

%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:system.webServer/security/requestfiltering -allowDoubleEscaping:true