Salı, Haziran 16, 2009

TSQL İle Bir Veritabanından Diğerine Tablo Kopyalama

TSQL ile bir veritabanında başka bir veritabanına tablo kopyalamak çok basittir, syntax

SELECT * INTO <hedefveritabanı>.<hedefşema>.<hedeftabloadı> FROM <kaynaveritabanı>.<kaynakşema.>.<kaynaktablo>

Örnek Kod;

SELECT * INTO AdventureWorks.dbo.CustomersTemp FROM Northwind.dbo.Customers

Çarşamba, Nisan 15, 2009

Windows Installer ile kurulum sonrası reboot


Visual Studio ile bir setup oluşturdunuz ve setup'ın kurulum sonrasında bilgisayarı yeniden başlatması gerekiyor, bu durumda de yaparız ?.

Hazırladığım projede böyle bir ihtiyaç ile karşılaştım ve açıkcası microsoft un bu kadar basit birşeyi ne kadar zorlaştırabildiğini görünce delirdim. Tüm setup projesinde "reboot" için bir özellik konmazmı. Neyseki sonunda buldum ve paylaşmak istedim.

Bu işlem için ihtiyacımız olan şey "Microsoft Orca Editor" ilgili programı adresinden indirebilirsiniz.

Orca editör nedir ne işe yarar derseniz. Onu da şöyle açıklayayım. Microsoft installer ile oluşturduğunuz bir setup kendi içerisinde birçok özelliği sahiptir. Bu özellikler "Property Table" isimli bir yapı içerisinde tutulur. Malesef microsoft çalışanları visual studio designer içerisinden bu özellikleri eklemek yerine özellikleri dışardan yönetebilmemiz için bize ayrı bi program yazmışlar. Setup derlendikten sonra property table .msi dosyası içersine gizlenir ve bizde orca editör ile msi dosyasını düzenleyip birçok özelliği değiştirebiliriz.

Orca editörü indirip açtıkdan sonra oluşturduğunuz .msi dosyasını açın. Bu dosyayı ora editör ile açıkdan sonra sol tarafda Tables listesini göreceksiniz. Tables listesinden "Property" seçeneğini seçip sağ tarafta ki liste de sağ tıklayıp açılan menüden "Add Row" seçeneğini işaretleyin. Gelen pencerede özellik adı olarak "REBOOT" özellik değeri olarak da "Force" ekleyin. Hepsi bu kadar; örnek ekran görüntüsünü aşağıda görebilirsiniz


Salı, Şubat 10, 2009

ASP.NET ile hata sayfalarını özelleştirmek.

ISS'in standart hata sayfaları çok profyonel bir site için çok çirkin kalıyor, o yüzden bu hata sayfalarını kendi tasarladığımız hata sayfaları ile değiştirmek hem sitenin profosyonel görüntüsünü korumaya hemde kullanıcılardan gelecek hata bildirimlerini özelleştirmemizde bize çok faydalı olacaktır.

Hataları Sayfa Üzerinde Yakalamak

Bir sayfada hata oluştuğunda öncelikli olarak o sayfadaki "OnError" olayı gerçekleşir bizde bu olayı kontrol ederek hataları yakalayıp kullanıcıyı ona göre yönlendirebiliriz, fakat bu yöntem o sayfaya özel olacağı için pek tercih edilmez.

Uygulama Bazında Hata Yakalama

Her sayfada "OnError" olayını yakalamaktan daha kullanışlı olan yöntem uygulamıza ait "Global.asax" dosyasındaki "OnError" yordamını kullanmaktır. Eğer projenize de Global.asax dosyası yoksa projeniz üzerinde sağ tıklayıp "Add - New Item - Global Application Class" yolunu takip ederek "Global.asax" dosyasını projenize ekleyebilirsiniz. Bu dosyadaki "Application_Error" yordamı içerisine yazacağınız kodlar sayfanız çalışırken bir hata oluştuğunda çalışacaktır.

Hata Kodlarına Göre Sayfa Yönlendirme.
Web programcılarının en çok karşılaştıkları sorunlardan bir tanesinde kullanıcının uygulama içerisinde geçersiz olan bir sayfanın adresini girmesi durumudur. Eğer kullanıcı geçersiz bir adres girerse karşısını 404 hata kodlu sayfa bulunamadı penceresi çıkacaktır. Eğer profosyonel bir web uygulaması yapıyorsak bu hata sayfası yerine kendi özel sayfamızı yerleştirebiliriz. Web.config dosyası içerisindeki "customErrors" alanı bu iş için tasarlanmıştır. Eğer handle etmek istediğiniz hatanın kodunu biliyorsanız resimdeki şekilde yeraldığı gibi oluşan hata kodlarına göre kullanıcıları ilgili sayfalara yönlendirebilirsiniz.