inicio mail me! sindicaci;ón

Bir Veritabanındaki Tabloyu Sql İfadesi ile Farklı Bir Veritabanına Kopyalama

Sql Server’da herhangi bir veritabanındaki bir tabloyu verileriyle ya da verileri olmadan başka bir veritabanında da oluşturmak istediğimde genellikle Sql Server’ın Generate Scripts özelliğinden yararlanıyordum. Ancak bu işlemi direkt olarak bir sql ifadesi yazarak yapmak da mümkün.

Select * Into YeniTestDB.dbo.YeniFilmler
         From Filmler
         Where 1 = 2

Bu ifade ile Filmler isimli tablo YeniTestDB isimli veritabanında da oluşturulmuş oldu. Ancak yazmış olduğunuz where ifadesi sayesinde mevcut tablodaki verilerin aktarılmasını engellendi.

Eğer buradaki where ifadesi kaldırılırsa bu kez verileriyle birlikte Filmler isimli tablo, YeniTestDB isimli veritabanında oluşturulmuş olacaktı.

ConnectionString’i UI Yardımıyla Yazmak

Çok sık kopyalanıp yapıştırılan birşey olduğu için mi, her projede genelde bir sefer yazıldığı için mi, yoksa farklı bir özel nedeni var mı bilemiyorum ancak ConnectionString’in yazılışını genelde sıkça unutuyorum. Bu sebeple şimdiye kadar ConnectionStrings.com isimli siteden sıkça yararlanıyordum. Ancak geçenlerde bana daha basit gelen bir yöntem öğrendim.

Windows kullanıyorsanız eğer, adı önemli olmamakla birlikte uzantısı udl (universal data link) olan bir dosya oluşturun ve oluşturulan dosyayı çift tıkla açın.

Karşınıza aşağıdaki gibi, veritabanı ayarlarını yapabileceğiniz bir panel açılacak.

Buradan veritabanı bağlantınız için gerekli tüm ayarları yaptıktan sonra dosyayı bir notepad aracılığıyla açın. ConnectionString karşınızda.

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=TRABZON

Bir Domain’deki Tüm Requestleri Diğer Bir Domaine Yönlendirmek

2006 yılında açmış olduğum vbulletin alt yapısını kullanan forumumda domain değişikliği gerçekleştirdim. Bu elbette tüm indexin kaybolması, kullanıcıların indexlenmiş konulara ulaşamaması anlamına geliyordu. Bunun için basit bir urlrewrite işlemi gerçekleştirerek, en azından kullanıcıların yeni domainde de aynı konulara ulaşmasını sağlamış oldum. Bu kodu eski domaininizin barındığı hostda .htaccess dosyasına yazmanız yeterli olacaktır.

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^eskidomanim.com [nc]
rewriterule ^(.*)$ http://yenidomainim.com/$1 [r=301,nc]

Nullable Tipler – ?? Operatorü

Nullable tipler bir değere sahip olabileceği gibi, undefined durumunda da olabilir. ?? operatoru null kontrolü yapmamızı sağlayarak nullable bir tipin değerini non-nullable bir tipe atamamızı kolaylaştırır. Ayrıca non-nullable tiplerin önüne ? konularak da bu tiplerin, nullable tipler gibi davranmasını sağlayabiliyoruz.

DateTime myDateTime = null; //nullable tip olmadığı için derleme zamanında hata verir.

Kullanımına basit bir örnek

DateTime? myDateTime = null; //sorunsuz çalışır

DateTime? yourDateTime = DateTime.Now;

DateTime dateTime = myDateTime ?? yourDateTime ?? DateTime.Now; // myDateTime null ise yourDateTime'ın değerini ata, o da null ise DateTime.Now'ın değerini ata

IIS’de Host Edilen Bir Web Uygulamasını AppStart Durumunda Debug Etmek

IIS’de host ettiğim bir web uygulamasını visual studio’da ctrl+shift+p tuş combinasyonu ile ya da Debug -> Attact to process menüsünü takiben açılan penceredeki ilgili process’i seçerek kolayca debug edebiliyordum. Ancak attach edilecek process’i açılan listede görebilmek için bu process’e ait web uygulamasının bir kez browser tarafından çalıştırılmış olması gerekiyordu. Kısaca bu yöntemle web uygulamasının AppStart durumunda gerçekleştirdiği işlemleri debug etme imkanı bulamıyordum.

Çözüm ise debug’a başlamak istediğiniz noktada System.Diagnostics kütüphanesinden gelen Debugger.Launch() methodunu çağırmak olacak. Bu sayede uygulama o noktaya işaret ettiği anda w3c process penceresi açılarak size debug’a başlayıp başlamamak istediğinizi soracak, böylece IIS’de host edilen bir web uygulamasını her durumunda debug edebileceksiniz.

Önceki Yazılarım