*.BAT Dosyasi Ile SQL Server Üzerinde Veritabani Olusturma

Dark-Man

Kıdemli Üye
5 Ocak 2013
4,430
9
I Don't Know
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)

1000001008_image001.jpg


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

1000001008_image002.jpg


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

1000001008_image003.jpg


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.

1000001008_image004.jpg


Dedigini yapalim ve bir tusa basalim :=)

1000001008_image005.jpg


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

1000001008_image006.jpg



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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.