*.BAT Dosyasi Ile SQL Server Üzerinde Veritabani Olusturma

Yazar: Sem GÖKSU
Kategori: SQL Server
Eklenme Tarihi: 22.5.2007 02:13:13



Merhaba arkadaşlar bu makalemizde SQL Server üzerinde bat dosyasi araciligi ile veritabanı olusturma işleminin nasıl yapıldığına bakacağız.

Kendi kisisel bilgisayarimizda ya da firma bilgisayarlari üzerinde tasarladigimiz veritabanıni müsteri ya da talep edilen noktaya tasirken bir takim sikintilar yasariz. Çünkü veritabanıni tasirken olusturmus oldugumuz index yapilarini, store procedure, trigger vb. gibi bilgileri kaybedebiliriz. Eger ki birden çok noktaya kurulum yapilmasi gerekiyorsa bu sikintilar daha da artar. Tek nokta için olusturulan veritabanınin backup’ini alarak sorunu biraz olsun çözülebilir ama eger birden çok noktaya kurulum yapiliyorsa bu da çözüm olmaz. Çünkü kullanici program CD’ni takip ve setup dosyasini çalistirip bir an önce programini kurup kullanmak ister.

Bu sikintilari gidermek için olusturdugumuz veritabanınin script dosyalarini çalistiracak bir Bat dosyasi hazirlayabiliriz. Bu BAT dosyasini da hazirlamis oldugumuz uygulamada ön-kurulum olarak kurdurarak tasarladigimiz veritabanıni istedigimiz noktaya kolayca tasiyabiliriz.

Konu ile ilgili örnek bir uygulama yapalim. QueryAnalyser Üzerinde bir DataBase ve bu database’e bagli tablolar olusturalim. Daha sonra script dosyalarini çalistiracak BAT dosyasini hazirlayalim.

Örnek

Bunun için ilk olarak Query Analyser ya da SQL SMO açalim. Örnek bir veritabanı olusturalim ve olusturacagimiz bu scripti kaydedelim. (CreateDatabase.sql)

Simdi bu tabloya ait Tablolarimizi olusturalim ve yine kaydelim.(CreateTable.sql)

Script Dosyalarini olusturdugumuz dosyanin içine gelip uzantisi BAT olan bir dosya yaratalim.

Olusturdugumuz bu doya üzerinde sag tiklayarak düzenle diyerek Notepad da açalim. Içerisine asagidaki kodlari yazalim.

echo off

cls // Ekrani Temizle

type start.txt // Baslangiç 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 çalistirir ve sonucunu kurulum.log dosyasina yazar

osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalistirir ve sonucunu kurulum.log dosyasina yazar

cls // Ekrani 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 dosyasini sil

Yukarida bahsettigimiz start.txt yani baslangiç mesaji için Bat dosyasini olusturdugumuz yerde Start.txt isimli bir dosya yaratalim ve içerisine Baslangiç için bir mesaj yazalim. Benim örnegim asagidadir.

******

*********************************************************

***** Kurulumu Baslatmak icin bir tusa basiniz! *****

*********************************************************

**************** Sem Goksu **************************

*********************************************************

*********************************************************

******

Yine script dosyamiz görevini tamamladiktan sonra kullaniciyi bilgilendirmek için bat dosyasini olusturdugumuz yere end.txt adinda bir dosya olusturalim ve sonuç için bir mesaj yazalim. Benim örnegim asagidadir.

******

*********************************************************

***** Kurulum Tamamlandi, Tebrikler! *****

*********************************************************

******

Bunlari yaptiktan sonra Kur.Bat dosyamizi çalistiralim ve dosyamizi test edelim.

Dedigini yapalim ve bir tusa basalim :=)

veritabanımizin olusturuldugunu söylüyor. Birde SQL Serveri açalim ve oradan kontrol edelim.

Gördügümüz gibi veritabanımiz olusturulmus. Eger ki bu yaptiklarimizi bir programa ön kurulum olarak kurduracaksak Bat dosyamizi asagidaki gibi degistirebiliriz.

echo off

cls

osql -E -S%1 -n -iCreateDatabase.sql>>Kurulum.log //Scripti çalistirir ve sonucunu kurulum.log dosyasina yazar

osql -E -S%1 -n -iCreateTable.sql>>Kurulum.log //Scripti çalistirir ve sonucunu kurulum.log dosyasina yazar

cls

Bu sekil de kurulum asamasinda hiçbir uyari vermez ve veritabanı kurulur.

Bu makalenin de sonuna geldik, baska bir makalede görüşmek üzere başarı ve iyi günler dilerim.

Sem GÖKSU

MCP | MCAD.NET | MCTS

Örnek Kodlar için mail adresimi kullanabilirsiniz

askisem@hotmail.com


Sem GÖKSU

Sem Göksu, 15.12.1983 / İstanbul doğumludur. Süleyman Demirel Üniversitesi Bilgisayar Programcılığı Mezunudur. Okul döneminde ve sonrasında kısa bir süre ASP, C++, VB 6 ile ilgilenmiş ve projeler geliştirmiştir. 2002 Yılından itibaren .NET teknolojileri ile ilgilenmekte ve ASP.NET, SQL Server ve C#'da uzmanlaşmıştır.
Bu makaleye ilk yorum yapan siz olun.

Yorumunuz