17 Ara 2006 *.BAT Dosyası İle SQL Server Üzerinde Veritabanı Oluşturma Kategori: SQL Server Etiketler: SQL ServerSQL Server 2005SQL Server 2008 2 Yorum Merhaba arkadaşlar bu makalemizde SQL Server üzerinde bat dosyası aracılığı ile veritabanı oluşturma işleminin nasıl yapıldığına bakacağız.Kendi kisisel bilgisayarımızda ya da firma bilgisayarları üzerinde tasarladıgımız veritabanını müsteri ya da talep edilen noktaya tasırken bir takım sıkıntılar yasarız. Çünkü veritabanını tasırken olusturmus oldugumuz index yapılarını, store procedure, trigger vb. gibi bilgileri kaybedebiliriz. Eger ki birden çok noktaya kurulum yapılması gerekiyorsa bu sıkıntılar daha da artar. Tek nokta için olusturulan veritabanının backup'ını alarak sorunu biraz olsun çözülebilir ama eger birden çok noktaya kurulum yapılıyorsa bu da çözüm olmaz. Çünkü kullanıcı program CD'ni takıp ve setup dosyasını çalıstırıp bir an önce programını kurup kullanmak ister. Bu sıkıntıları gidermek için olusturdugumuz veritabanının script dosyalarını çalıstıracak bir Bat dosyası hazırlayabiliriz. Bu BAT dosyasını da hazırlamıs oldugumuz uygulamada ön-kurulum olarak kurdurarak tasarladıgımız veritabanını istedigimiz noktaya kolayca tasıyabiliriz. Konu ile ilgili örnek bir uygulama yapalım. QueryAnalyser Üzerinde bir DataBase ve bu database'e baglı tablolar olusturalım. Daha sonra script dosyalarını çalıstıracak BAT dosyasını hazırlayalım. Örnek Bunun için ilk olarak Query Analyser ya da SQL SMO açalım. Örnek bir veritabanı olusturalım ve olusturacagımız bu scripti kaydedelim. (CreateDatabase.sql ) Simdi bu tabloya ait Tablolarımızı olusturalım ve yine kaydelim.(CreateTable.sql ) Script Dosyalarını olusturdugumuz dosyanın içine gelip uzantısı BAT olan bir dosya yaratalım. Olusturdugumuz bu doya üzerinde sag tıklayarak düzenle diyerek Notepad da açalım. Içerisine asagıdaki kodları yazalım. echo off cls // Ekranı Temizle type start.txt // Baslangıç için Ekrana verilecek Mesaj pause > Kurulum.log // Kullanıcının devam etmesi için beklet osql -E -S%1 -n -iCreateDatabase.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar cls // Ekranı Temizle type End.txt // Sonuç için Ekrana verilecek Mesaj pause >> Kurulum.log // Kullanıcının devam etmesi için beklet Del Kurulum.log // Hata vermemisse log dosyasını sil Yukarıda bahsettigimiz start.txt yani baslangıç mesajı için Bat dosyasını olusturdugumuz yerde Start.txt isimli bir dosya yaratalım ve içerisine Baslangıç için bir mesaj yazalım. Benim örnegim asagıdadır. ****** ********************************************************* ***** Kurulumu Baslatmak icin bir tusa basiniz! ***** ********************************************************* **************** Sem Goksu ************************** ********************************************************* ********************************************************* ****** Yine script dosyamız görevini tamamladıktan sonra kullanıcıyı bilgilendirmek için bat dosyasını olusturdugumuz yere end.txt adında bir dosya olusturalım ve sonuç için bir mesaj yazalım. Benim örnegim asagıdadır. ****** ********************************************************* ***** Kurulum Tamamlandi, Tebrikler! ***** ********************************************************* ****** Bunları yaptıktan sonra Kur.Bat dosyamızı çalıstıralım ve dosyamızı test edelim. Dedigini yapalım ve bir tusa basalım :=) Veritabanımızın olusturuldugunu söylüyor. Birde SQL Serveri açalım ve oradan kontrol edelim. Gördügümüz gibi Veritabanımız olusturulmus. Eger ki bu yaptıklarımızı bir programa ön kurulum olarak kurduracaksak Bat dosyamızı asagıdaki gibi degistirebiliriz. echo off cls osql -E -S%1 -n -iCreateDatabase.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalıstırır ve sonucunu kurulum.log dosyasına yazar cls Bu sekil de kurulum asamasında hiçbir uyarı vermez ve veritabanı kurulur. Bu makalenin de sonuna geldik, baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Sem GÖKSU MCP | MCAD.NET | MCTS Örnek Kodlar için mail adresimi kullanabilirsiniz askisem@hotmail.com Kaynaklar http://msdn.com Yorum (2) Akif Türkay / 28.10.2009 23:40:42 Cok teşekür ederim.Projem için cok gerekli bir bilgiydi HALİL ARSLAN / 2.11.2009 23:58:09 mrb arkadaşlar benim dersanet çok eskiyi kulanıyordym yani ldf ve mdf dosyaları olmadan ama ldf ve mdf dosyaları çıkınca ben kendi proğramımı değiştirmedim öyle kaldı ama şu an güncelleme yapamıyorum kendi datalarımı NASIL LDF VE MDF YE ÇEVİRİRİMİ YARDIMCI OLURSANIZ SEVİNİRİM Yorum Yaz * Ad Soyad: * Email: * Message:
Yorum (2) Akif Türkay / 28.10.2009 23:40:42 Cok teşekür ederim.Projem için cok gerekli bir bilgiydi HALİL ARSLAN / 2.11.2009 23:58:09 mrb arkadaşlar benim dersanet çok eskiyi kulanıyordym yani ldf ve mdf dosyaları olmadan ama ldf ve mdf dosyaları çıkınca ben kendi proğramımı değiştirmedim öyle kaldı ama şu an güncelleme yapamıyorum kendi datalarımı NASIL LDF VE MDF YE ÇEVİRİRİMİ YARDIMCI OLURSANIZ SEVİNİRİM
HALİL ARSLAN / 2.11.2009 23:58:09 mrb arkadaşlar benim dersanet çok eskiyi kulanıyordym yani ldf ve mdf dosyaları olmadan ama ldf ve mdf dosyaları çıkınca ben kendi proğramımı değiştirmedim öyle kaldı ama şu an güncelleme yapamıyorum kendi datalarımı NASIL LDF VE MDF YE ÇEVİRİRİMİ YARDIMCI OLURSANIZ SEVİNİRİM