Bir web servisi yazdık ve bunu bir client uygulamasında referans olarak kullanmaya başladık. Fakat bir süre sonra bu web servisinin(*.asmx) yayın yaptığı Urladresi değişti. Bu durumda bilindiği gibi bu servisi kullanan uygulamada yeniden “Add Web Reference” menüsünden yeni Url adresini güncellememiz ve uygulamamızı recompile etmemiz gerekir. Bu işlemi yaptığımızda VS.NET, otomatik olarak gerekli proxy nesnesini oluşturur. (Ve client uygulamamız, bu proxy nesnesi üzerinden web servisiyle haberleşir.)
Her Url adresi değişikliğinde client uygulamasını yeniden derlemek deployment açısından pek mantıklı bir fikir değildir. .NET Framework, bu yönteme alternatif olarak değişikliğin kolayca yapılacağı bir yol sunar; Read the rest of this entry »
SQL dilininin sunduğu gruplama özelliklerini kullanarak doğrudan veritabanından çektiğimiz bir raporu belli kriterlere göre kırabilir ve alt özet oluşturabiliriz. SQL’in ROLLUP ve CUBE komutları, verileri hızlı bir şekilde özetlememizi sağlar. SQL Server 6.5 ve Oracle 8i ile birlikte gelmiş bu deyimler, özellikle herhangi bir OLAP yatırımı, uygulaması kurmadan etkili istatiksel sonuçlar çıkarmamıza imkan verir. Bu yazıda SQL Server tarafında bu komutları örneklendirmeye çalışacağız. Read the rest of this entry »
Bir .NET uygulamasının aynı anda sadece bir örneğini(single instance) çalıştırmak için birçok yöntem kullanılır. Burada bu yöntemlerden en çok kullanılan ve en hızlı olan mutex metodunu kullanımını örneklendireceğiz. Mutex(Mutual Exclusion) fonksiyonu, belli kaynakların yalnızca bir thread tarafından kullanılmasını sağlayan böylece processlerin birbirini engelleme sorununu ortadan kaldıran threading işleminde önemli rol oynayan bir işletim sistemi nesnesidir. Bir mutex’i, programların bir t zamanında sadece bir kere çalışmasını sağlamak amacıyla geliştirilmiş senkronizasyon tabanlı kilit yapısı olarak düşünebiliriz. Read the rest of this entry »
Bu makalede SQL Server’da language ve collation kavramlarının farklılıklarından bahseceğiz. Language kavramı, mesajlar, date/time, ay/gün isimleri, para formatı ve birimi gibi yerel bilgileri desteklemekle sınırlıdır. SQL Server, kendi içerisinde birçok dile ait yerel bilgileri taşır. Bu bilgiler, kullanıcıların oturumlarına bağlı olarak uygulamalarda farklı dil değerlerini göstermelerini sağlamaktadır.
SQL Server’in desteklediği dil veya diller hakkında ayrıntılı bilgi almak için sp_helplanguage procedure kullanılabilir. Bu procedure, @language parametresi girilmezse tüm dillerin ayrıntısı listelenir. Language tanımlamaları, sys şemasına bağlı syslanguages tablosunda saklıdır.
--Bütün dilleri listeleyelim. EXEC sp_helplanguage --Sadece Türkçe dilinin bilgilerini görelim EXEC sp_helplanguage turkish --Doğrudan syslanguages tablosunu sorgulayalım. SELECT * FROM sys.syslanguages WHERE alias='turkish'
SQL Server’da dil ayarı sunucu ve kullanıcı(oturum) bazında etkili olur. SQL Server’in instanceni kurarken language değerini de set edebiliriz. Sunucunun default dil değerini Sever Properties penceresindeki Advanced sekmesindeki
Visual Studio 2005′de bir web site projesinde bazı anlarda bir kontrolün ID’sini değiştirmek istediğimizde The Directory Name is Invalid veya Failed to find definition hata mesajlarını alırız. Bu hatayla App_Code klasörü bulunan projelerde karşılaşılır. Özellikle başarısız bir derlemeden sonra bu hata mesajı çıkabilmektedir. Bu sorunu aşmak için; ..\Documents and Settings\<UserName>\Local Settings\Application Data\Microsoft\WebsiteCache klasörün altında uygulamamız ile aynı isimde boş bir klasör oluşturmalıyız.
.NET destekli programlama dillerini kullanarak Active Directory(AD) üzerinde sorgulamalar yapabiliriz. Bu amaçla .NET Framework, System.DirectoryServices kütüphanesini sunar. Bu kütüphanenin sınıflarını kullanarak, AD üzerinde sorgulamalar yapılabilir, ilgili nesnelere ulaşılabilir, kullanıcıların authentication işlemi sağlanabilir, web/windows/console uygulamalarından AD kayıt güncellemeleri gerçekleştirilebilir. DirectoryServices kütüphanesinin sınıflarına geçmeden önce AD’nin desteklediği LDAP standartından bahsedelim. Read the rest of this entry »
Database üzerinde yapılan işlemleri takip etmek, kaynak tüketimlerini gözlemlemek özellikle çalıştırılan querylerdeki darboğazları öğrenmek için Sql Server’in Profiler aracı kullanılarak trace işlemi yapılır. Profiler aracı, belirlediğimiz bir zaman diliminde verdiğimiz kriterler bazında gerçekleşmiş olayların ve bu olaylar sonucu CPU’da harcanan zaman ve I/O okuma & yazma süresi gibi değerlerin takip edildiği bir ortamdır. Sql Trace işlemleri birçok database tarafından desteklenmektedir. Oracle tarafında bu trace bilgilerine ulaşmak için TKPROF aracı kullanılır. SQL 2005, Profiler ismini SQL Profiler olarak değiştirip Performance Tools menüsü altında sunmaktadır. Burada SQL Server 2005′in güzel bir özelliğinden bahseceğiz. Read the rest of this entry »
Şimdiye kadar 600 bin kişinin öldüğü, binlerce insanın evsiz kaldığı çocukların katletildiği onursuz bir savaşın protesto resimleri.
http://www.ccmep.org/2002_articles/Iraq/102702_pictures_of_anti.htm
http://www.pressesc.com/01171128822_top_5_anti_war_posters
http://www.miniaturegigantic.com/gallery1.html
http://www.flickr.com/photos/jbwendover/tags/protest/
http://www.flickr.com/photos/joetresh/tags/protest/
http://www.flickr.com/photos/slapasmurf/sets/72157594505982998/
http://www.flickr.com/photos/perpetually/sets/72157594506826639/
http://www.flickr.com/photos/sduffy/sets/72157594503561750/
http://seattlepi.nwsource.com/photos/bushprotest/

Database Management System-DBMS(Veritabanı Yönetim Sistemleri - VTYS)’larda veritabanının sahip olduğu nesneler hakkında bilgi almak, metadalarını(veri nesneleri hakkında veri tablosu) sorgulamak için bazı yöntemler sunulur. Bunlardan bir tanesi ANSI_SQL standartı olan INFORMATION_SCHEMA ile başlayan metadata viewleri diğer yöntem ise sistem tablolarıdır. Bu bilgiler, bir uygulamanın database katmanı için kodları generate etmekte kullanıldığı gibi SQL Injection gibi kötü niyetler için de kullanılmaktadır. Ayrıca database üzerinde yeni bir nesne oluşturulacağı zaman onun önceden var olup olmadığını kontrol etmek veya nesneyi silmeye çalıştığımızda gerçekten veritabanında öyle bir nesnenin olduğundan emin olmak için veritabanının metaverisini sorgulamak işlemlerin doğru sonuçlanması açısından önemlidir.
SQL Server’da kullanılan metadata viewleri şunlardır;
- CHECK_CONSTRAINTS,
- COLUMN_DOMAIN_USAGE
- COLUMN_PRIVILEGES
- COLUMNS
- CONSTRAINT_COLUMN_USAGE
- CONSTRAINT_TABLE_USAGE
- DOMAIN_CONSTRAINTS
- DOMAINS
- KEY_COLUMN_USAGE
- PARAMETERS
- REFERENTIAL_CONSTRAINTS
- ROUTINE_COLUMNS
- ROUTINES
- SCHEMATA
- TABLE_CONSTRAINTS
- TABLE_PRIVILEGES
Önceki yazıda mükerrer eden kayıtları sahip oldukları identity değeri sayesinde silebiliyorduk. Peki Sql Server’daki bu tabloda kayıtları birbirinden ayıracak herhangi bir Primary Key veya Unique Constraint yoksa kayıtları nasıl sileceğiz. L_User isimli tablosunda kayıtları şu şekilde durduğunu varsayalım.

Recent Comments