Arda Çetinkaya Yazılım ve arada kendim ile ilgili karaladıklarım…

SQL Server’ın versiyon bilgilerine ‘registry’ sayesinde kolayca ulaşabiliyoruz. SQL Server’ların çalışıyor olması ya da herhangi bir database’e bağlantı yapmadan küçük bir kaç kod ile kolayca göstermeye çalışacağım. Bunun için öncelikle registry’daki SQL Server için olan ağaç yapısını anlamak gerekli.

İlk kurulumda, SQL Server KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion key’i altına CurrentVersion isminde mevcut versiyonu yazıyor.

Aynı makinaya başka bir SQL Server kurmak istediğimizde Instance olarak kuracak ve bunuda HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server altına koyacaktır. Mesela SQL2000 isminde bir instance kuracak olursanız, bu register’da HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQL2000 şeklinde yer alacaktır.

Aynı şekilde versiyon bilgileri de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SQL2000\MSSQLServer\CurrentVersion altında yer alacaktır.

Artık tek yapmamız gereken registry’den bu bilgileri çekmek.Aşağıdaki kod örneği ile bunu kolayca yapabilirsiniz.Güle güle kullanın…

            RegistryKey rk = Registry.LocalMachine.OpenSubKey(@”SOFTWARE\Microsoft\Microsoft SQL Server”);
            String[] instances = (String[])rk.GetValue(“InstalledInstances”);
            if (instances.Length > 0)
            {
                foreach (String element in instances)
                {
                    if (element == “MSSQLSERVER”)
                    {
                        Console.WriteLine(System.Environment.MachineName);
                        rk = Registry.LocalMachine.OpenSubKey(@”SOFTWARE\Microsoft\MSSQLServer”);
                        RegistryKey s = rk.OpenSubKey(“MSSQLSERVER”);
                        Console.WriteLine(“Version:” + s.OpenSubKey(“CurrentVersion”).GetValue(“CurrentVersion”));
                        Console.WriteLine(“Service Pack:” + s.OpenSubKey(“CurrentVersion”).GetValue(“CSDVersion”));

                    }
                    else
                    {
                        Console.WriteLine(System.Environment.MachineName + @”\” + element);
                        rk = Registry.LocalMachine.OpenSubKey(@”SOFTWARE\Microsoft\Microsoft SQL Server”);
                        Console.WriteLine(“Version:” + rk.OpenSubKey(element).OpenSubKey(“MSSQLSERVER”).OpenSubKey(“CurrentVersion”).GetValue(“CurrentVersion”));
                        Console.WriteLine(“Service Pack:” + rk.OpenSubKey(element).OpenSubKey(“MSSQLSERVER”).OpenSubKey(“CurrentVersion”).GetValue(“CSDVersion”));
                    }
                   
                }
            }

Ve sonunda….

http://www.microsoft.com/windows/internet-explorer/default.aspx

Uzun süredir beta konsepti altında yayınlanan Internet Explorer 8 son halini aldı ve yayınlandı…

Şu sıralar devam etmekte olan Mix’09 etkinliğinin ilk günü tamamlandı. Ve ilk gelen haberler şahane… Silverlight 3 Beta ve ASP.NET MVC Framework‘ün çıkmış olması beni en heyecanlandıran haberlerden diyebilirim. Hemen indirip kurcalamak lazım.

Mix’09 etkinliğini takip etmek için: http://live.visitmix.com/

Artık sitedeki yazılara yorumlarınızı Facebook hesabınız ile kolayca iletebileceksiniz. Nasıl mı? Çok basit…Facebook’a login olarak siteye girdiğinizde site sizi otomatikman tanıyacaktır ve yorum yazmanıza izin verecek. Tabi ki isterseniz logout olup, anonim olarakta yorum yapabilirsiniz.

Bu konu ile ilgili ilerleyen günlerde güzel şeyler paylaşıyor olacağım…

Eğer yukarıdaki hatayı alıyorsanız, config dosyanızda ki bağlantı cümleciğini kontrol edin.

<add name=”Entities”
connectionString=”metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;
provider=System.Data.SqlClient;provider connection string=&quot;
Data Source=127.0.0.1;Initial Catalog=MinePlaNET;Integrated Security=True;MultipleActiveResultSets=True&quot;” providerName=”System.Data.EntityClient” />

Koyu renkle belirttiğim isimlerin data modeliniz ile aynı isimde olması gerekmekte. Eğer manuel olarak data modelinizin ismini değiştirdiyseniz bu sorun ile karşılaşırsınız. Peki bunlar ne? Bunlar aslında 3 tane dosya, *.csdl,*.ssdl,*.msl. Entity Framework’ün arka tarafta kullandığı dosyalar.Bunlar Entity Framework kullandığınız projenin DLL’inde resource olarak eklenmiş oluyor.Her hangi bir projede DLL’i eklediğinizde bu dosyalar ile bağlantı cümleciğini oluşturuyor…Dolayısıyla manuel değişikliklerde bunlara dikkat etmek gerekmekte.