29 Kasım 2015 Pazar

SQL Server: Invalid Column Name


        Microsoft Sql Server Management Studio üzerinde çalışırken bazen sinir bozucu şekilde sorgu satırlarımızın altında kırmızı çizgilerin belirdiğini görürürüz.

Sql Server : Invalid Column Name

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'S'.

        Benzeri mesajlar görünür ama anlamadığımız kısım budur zaten.Bunun olma durumlarından iki tanesinden bahsedeceğim.Birincisi sorgu yazdığımızda sql de bizim hangi veritabanı üzerinde işlem yapacağımızı bildirmemiş olabiliriz.Bunu aşmanın yolu veritabanını seçmek.Üstteki resimde sol üst kısımdan NBA veritabanını seçtiğimizde sorunumuz çözülecektir.Diğer yol ise sql sorgularımızdan önce bir kere Use DatabaseName; dememiz yeterlidir.


        İkinci durumda ise bir veritabanı üzerinde çalışırken seçtiğimiz tablomuzda,join  yaptığımız tablolarda bir değişiklik olmuş olabilir veya bağlantılı sonuç getireceğimiz tablomuz bizim sorgu sayfamız açıldığında başlangıçta son halini almamış veya hiç varolmamışta olabilir.O yüzden sql Management Studio'yu kapatıp tekrar açabiliriz veya aşağıda ki yolu izleyerek sql sorgularımızda ki intellisense özelliğine bir yenileme komutu yollayabiliriz.İşlemin dizini Microsoft SQL Server Management Studio içerisinde Edit>>Intellisense>>Refresh Local Cache.





25 Kasım 2015 Çarşamba

Error : String or binary data would be truncated. The statement has been terminated.

       Bir tablo oluşturmuşunuz ve Name isimli string alanını tutmak için VarChar(20) tipinde bir kolon eklediğinizi varsayalım.Veritabanına insert işlemi yaparken kullanıcının,sizin belirtiğiniz Size(20) değerinden fazla karakterli bir giriş yapmasına izin verdiğinizi varsayalım.Bu durumda 'String or binary data would be truncated. The statement has been terminated.' hatasıyla karşılaşırsınız.Kurallarınızı gözden geçirmenizde fayda var.Örneğin ilgili alana 20 karakterden fazla giriş yapılmamasını sağlayabilir veya ilgili alanın daha uzun karakterleri tutabilmesini sağlamak için ilgili tablodan ilgili kolonun Size ını artırabilirsiniz.
        DevExpress XAF kullanıyorsanız,sınıfınızda örneğin String alanını oluşturup programı derlemeye geçtiğinizde tablolar çoktan oluşacağından dolayı ilgili kolonun boyutunu düzenlemek için sil-tekrar yükle işlemi veya tabloyu silip projemizi yeniden derleme yoluna gidebiliriz.(2.adım eğer tablo boş ise daha rahattır.) Yeniden oluşturma işleminden önce tabi ki gerekli ayarlamaları alanımız için yapmayı unutmayalım.

[Size(50)]
public string MyProperty
{
    get { return _myProperty; }
    set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}


[Size(SizeAttribute.Unlimited)]
public string MyProperty
{
    get { return _myProperty; }
    set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}

[DbType("nvarchar(max)")]
public string MyProperty
{
    get { return _myProperty; }
    set { SetPropertyValue("MyProperty", ref _myProperty, value); }
}

9 Kasım 2015 Pazartesi

DXDIAG Nedir?





Windows işletim sistemi için ekran kartımızın özelliklerinden tutunda bilgisayarımızın sistem özelliklerine,DirectX sürümünden ses aygıtına,klavye veya mouse gibi girdi-çıktı birimleri hakkında bilgi edinebileceğimiz DirectX Tanı Aracına Başlat->Çalıştır->dxdiag yazarak ulaşabiliyoruz.

DirectX Tanı Aracı başlık ismiyle açılan pencerede 'Sistem','Ekran','Ses' ve 'Giriş' isimli bölümler karşımıza çıkıyor.

Sistem bölümünden bilgisayarımızla ilgili sistem bilgilerini elde edebiliriz.Geçerli tarih veya saat,bilgisayar adı,işletim sistemimiz,kullanılan dil,sistem üreticisi,sistem modeli,bios,işlemci,ram(bellek),disk belleği dosyası ve directx sürümünü öğrenebiliriz.

Ekran bölümünden ekran kartımızla ilgili 'Aygıt','Sürücüler' ve 'DirectX Özellikleri' bilgilere ulaşabiliyoruz.Aygıt kısmında ekran kartı aygıt adı, üretici firma,yonga türü,DAC türü,yaklaşık toplam bellek,geçerli görüntü modu ve monitör bilgilerini öğrenebiliriz.Sürücüler kısmından ana sürücü,sürüm,tarih,WHQL,DDI sürümü ve sürücü modeli bilgilerini öğrenebiliriz.Directx kısmından örnek olarak DirectDraw,Direct3D ve AGP hızlandırmalarının etkin olup olmadığına bakabilirsiniz.

Ses bölümünden ses aygıtı ile ilgili bilgiler,Giriş kısmından ise DirectInput aygıtlarını(örn.Fare,Klavye)görebilirsiniz.

Özetle bu araç,sisteminizde yüklü DirectX bileşenleri ve sürücüleri hakkında detaylı bilgi raporlar.
- See more at: http://mayhemcorporation.com/mayhem/index.php?topic=26

8 Kasım 2015 Pazar

Sql Server 'Saving changes is not permitted' error

Sql Server Management Studio'da  genellikle tasarlamadan oluşturduğumuz tablolar olmuştur.Bunlarla ilgili değişiklik yapmak istediğimizde ve değişikliklerin kaydedilmesini istediğimizde şöyle bir uyarı ile karşılaşmaktayız.

"Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the tables to be re-created.”



Uyarıda kaydedilen değişikliklere izin verilmediği,değişikliklerin geçerli olması için tablonun silinmesi veya yeniden oluşturulması gerektiği veya tablonun yeniden yaratılmasının gerektirecek değişikliklerin kaydedilmesini engelleyen seçeneğin değiştirilmesini söylüyor.

Bu seçeneği kaldırarak biz tablomuzu yeniden oluşturma işlemlerinden kurtulmuş olacağız.



Sql Server Management Studio içerisinde yukarıda ki menüden Tools>Options>Table and Database Designers kısmından 'Prevent saving changes that require table re-creation' seçeneğindeki seçimi kaldırıyoruz.(Yalnız yeniden tablo oluşumu gereksinimi yaratan bu durumların kaydedilmesinin engellenmek istemesinin sebeplerini bir kenara not almakta fayda var( https://support.microsoft.com/tr-tr/kb/956176 ) Biz en iyisi bu seçeneği aktif halde bırakıp projemize devam edelim.)


6 Kasım 2015 Cuma

Microsoft Açık Akademi

Microsoft Açık Akademi

        Açık Akademi,Microsoft'un www.acikakademi.com adresinde ücretsiz olarak uygulama geliştirme üzerine eğitimler verdiği sanal okuldur.Temel programlama eğitimlerinden ileri düzey uygulama geliştirmeye yarayacak konuların anlatıldığı derslerde değişik cihazlarda ve değişik sistemlerde üretime yönelik eğitimler verilmektedir.Aklınızda ki projeniz ister web ortamında olsun ister masaüstü ister mobil isterseniz bulut uygulaması olsun açık akademi üzerinden alacağanız dersler ve üzerine yapacağınız pratikler ile adım adım projelerinizi gerçekleştirmeye başlayacağınızı söyleyebilirim.Tabi ki programlamanın kendi başına bir derya olduğunu unutmamak gerekir.Sürekli gelişen teknolojiyle paralel bir şekilde artan yeni çözüm önerileri yüzünden programcılar bir çok alternatif sistem konusunda bilgi sahibi olmak zorundadırlar.Buda anca  büyük bir tutkuyla yürütülebilecek meslek icrası olabilir.Açık Akademi orta seviye olanları bir adım öteye ulaştırabilir ancak yeni başlayanlar için sadece başlangıç ateşini yakabilir.Zaten buda çok önemli bir şey diye düşünüyorum.Gerisi ilgili konularlarda bol miktarda pratik ve araştırmadan geçiyor.Üzerine yoğunlaşmadığımız  sürece hayatımızda ki çoğu şeyin zaten öğrenilmesinin zor olduğunu biliyoruz.


        Siteye Microsoft hesabımızla giriş yapabiliyoruz.Giriş yaptıktan sonra artık bu akademinin bir öğrencisi olarak dilediğimiz derse girip çıkabiliyoruz.Eğer belli bir proje tipi üzerinden eğitim görmek istiyorsanız yukarıda gördüğünüz kısımlardan maceranıza devam edebilirsiniz.(Unity ile oyun geliştirme kısmı bile mevcut)


        Tüm dersler kısmından ise sistemde mevcut olan bütün derslerin listesine ulaşabiliriz.Yukarıda ki fotoğrafta bir kısmı görüntülenmektedir.Derslerin yaklaşık olarak ne kadar süreceği ve sizin bu dersleri tamamlama oranlarınızı ilgili kolonlarda görebilirsiniz.


        Herhangi bir konuya girdiğimizde bizleri ilgili konuyla ilişkili bir çok dersin beklediğini görebiliriz.Bunları iyi anlayıp ders sonu soruları cevaplandırmamız alacağımız puanların belirlenmesi açısından önemli.

        Bunlardan başka Kütüphane kısmı(belli konularda dokümanlar içerir),derslere katılanların Başarı Bilgileri (büyük ihtimalle dersler sayesinde uygulama geliştirmiş veya kariyerlerini şekillendirmiş kimseler),Açık Akademi Tv(açık akademide yapılmış olan kariyer söyleşileri,sanal sınıf etkinlikleri ve canlı yayımlara bu bölümden erişebilirsiniz),Soru-Cevap kısımı inceleyebileceğiniz kısımlar.



        Ayrıca Kodu diye bir kısım mevcut ki bunu belki ilerleyen yazılarımda inceleyebilirim.Kodu için basit olarak şunu söyleyebiliriz ki,çocuklar için özel olarak tasarlanmış bilgisayar oyunu oluşturmaya yönelik görsel bir programlama dilidir.Benim önerim incelemekte fayda var.Çünkü programlama,bütün insanlar için kendi bünyesinde barındırdığı düşünme biçimi geliştirme yöntemlerinden dolayı çok faydalı ve gereklidir.Bu sebeple programlamaya erken yaşlarda başlayan çocukların ileride yazılım dünyasında kariyer sahibi olmayacak olsalar bile(belki büyüdüklerinde istemeyebilirler) bir çok anlamda yeteneklerinin gelişeceğini söyleyebiliriz.

        Açık Akademi sayfasının Microsoft  tarafından desteklenmesinin nedenleri üzerine fazla kaotik sorgular yapmamak gerekiyor diye düşünüyorum.Doğal bulacağınız gibi Microsoft kendi teknolojileri üzerinden ilgili cihazlara ve ortamlara yönelik uygulamalar geliştirmenize yardımcı olmaya çalışıyor.Bizler bireysel olarak böyle şirketlerin sadece gösterdiği yollarla ilgilenmeliyiz.Keşke etrafımızda var olan bütün programlama dilleri,veri tabanı yönetim sistemleri,geliştirme ortamları vs için geniş kapsamlı kaynaklar mevcut olsaydı.Benim şahsi görüşüm bu konuda fazla zaman kaybetmeden bir konuda sizi sonuca götürenlerle yol almanız.Microsoft teknolojileri benim için artı olur diyorsanız buyrun derslerde ki yerinizi alınız.Yalnız eleştirmeden edemeyeceğim.Bazı ders sonu sınavlar aşırı zorlayıcı olabiliyor ve klasik Türk tipi okullarda ki gibi anlatılmayan kısımlardan sorular gelebiliyor.Buda konuyla ilgili bizlere ekstra araştırma yapma ihtiyacını yaratıyor.(Hevesi olan daha fazlasınıda yapar,yetinmez,ilgili konuyla alakalı Youtube video serileri bitirir,kaynak kodlar inceler....)