3. Ekler
3.1. 'da Visual Studio.net ile bir web projesi oluşturma Aile XP
Visual Studio.net ile farklı türde projeler oluşturulabilir:

Bir web uygulaması projesi oluşturmak için genellikle [Application Web ASP.NET] türü seçilir. Bu tür bir proje, yerel veya uzak bir IIS web sunucusunun varlığını gerektirir. Windows XP işletim sistemli bir bilgisayarda çalışılıyorsa, bu sunucu mevcut değildir ve kurulması da mümkün değildir. Dolayısıyla [Application Web ASP.NET] türünde bir proje oluşturulamaz.
Birkaç küçük dezavantajı göze alarak bu engeli aşabilirsiniz. Bunun için:
- IIS sunucusu yerine Cassini web sunucusunu kullanmak. Bu sunucu, Microsoft'un web sitesinden ücretsiz olarak indirilebilir.
- [Application Web ASP.NET] projesi yerine [Bibliothèque de classes] projesini kullanmak
Nasıl yapılacağını gösteren basit bir proje oluşturalım.
- [Bibliothèque de classes] projesini oluşturun
![]() | ![]() |
- [Class1.vb]'i silin

- Projeye [Fichier texte] türünde yeni bir öğe ekleyin ve adına [demo.aspx] adını verin:
![]() | ![]() |
- [demo.aspx] dosyası bir web sayfası olarak tanınır ve ona bir sayfa düzenleyicisi atanır. Bu düzenleyicide iki panel bulunur:
- Sayfayı grafiksel olarak oluşturmak için [design]
- [HTML]: Sayfanın koduna erişmek için HTML

- [Affichage/Code]'i seçerek sayfanın VB kod kısmını görüntülemek istersek hiçbir şey olmaz. Sayfanın VB koduna erişim sağlanamaz.
- [HTML] paneline gidin ve [demo.aspx] sayfasını [demo.aspx.vb] koduna bağlayacak kodu girin:

- [Affichage code - F7] aracılığıyla sayfaya ait kontrol kodunu görüntüleyin. [demo.aspx.vb] dosyası elde edilir:

- [demo.aspx] sayfası artık [.aspx] web sayfası olarak tanınır ve ona [.aspx.vb] kontrol kodu atanır.
- [demo.aspx]'in [Design] paneline geri dönelim ve şu sayfayı çizelim:

Sayfa, metin ve [Label] türünde, kimliği [lblHeure] olan bir sunucu bileşeni içeriyor.
- [HTML] paneline geçelim. Burada şu kodu buluyoruz:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
Bu kod, HTML sözdizimi açısından eksiktir. Hadi tamamlayalım:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
<head>
<title>démo ASPX</title></head>
<body>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>
</body>
</html>
- [demo.aspx.vb] koduna geçelim ve [lblHeure] bileşenine saati ekleyecek kontrol kodunu yazalım. Bu kodun, kod yazma yardımcısı olan Intellisense tarafından tanınmadığını görüyoruz.
- [demo.aspx] ve [demo.aspx.vb] dosyalarını önce kaydedip kapatın, ardından yeniden açın. [demo.aspx.vb] koduna geçin. Bu sefer, [demo.aspx] bileşenindeki [lblHeure] bileşeni, [demo.aspx.vb] kodunda Intellisense tarafından doğru şekilde tanınmaktadır. Kodu tamamlayın:

- [Générer/Générer demo] ile projeyi oluşturun. Oluşturma işlemi sorunsuz gerçekleşirse, projenin [bin] klasöründe DLL dosyası oluşturulur:

- Testlere hazırız. Cassini sunucusunu (bkz. sonraki paragraf) şu şekilde yapılandırıyoruz:

Cassini kısayolunun hedefi şu şekilde tanımlanır:
"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
yürütülebilir dosyanın yolu | |
Visual Studio web projesi klasörünün yolu | |
ilişkili sanal yol |
- Cassini'yi başlatın. Simgesi görev çubuğuna eklenir. Simgeye sağ tıklayın ve [Show details] seçeneğini seçerek web sunucusunun doğru şekilde yapılandırıldığını kontrol edin:

- Bir tarayıcıyla, URL [http://localhost/demo/demo.aspx] adresini girerek oluşturduğumuz sayfayı açalım. Aşağıdaki sonucu elde ederiz:

Visual Studio'da aşağıdakileri kullanarak bir web uygulaması oluşturmayı başardık:
- [bibliothèque de classes] türünde bir proje
- Cassini web sunucusu
Artık, Windows XP Aile Sürümü gibi, IIS sunucusuna sahip olmayan bilgisayarlarda web uygulamaları oluşturabiliyoruz.
3.2. Cassini web sunucusunu nereden bulabiliriz?
Microsoft’un .NET platformuyla çalışmak için Cassini web sunucusunu kullanabilirsiniz. Bu sunucu, [WebMatrix] adlı bir ürün aracılığıyla kullanılabilir; bu ürün, .NET platformlarında ücretsiz bir web geliştirme ortamıdır ve URL adresinden erişilebilir:

Ürünün kurulum adımlarını dikkatle takip edeceğiz:
- .NET platformunu indirip kurun (1.1, Mart 2004)
- WebMatrix dosyasını indirip kurun
- MSDE'i (Microsoft Data Engine) indirip kurun; bu, SQL Server'ın sınırlı bir sürümüdür.
Kurulum tamamlandığında, [WebMatrix] ürünü yüklü programlar listesinde görünür:

[ASP.NET] Web Matrix bağlantısı, IDE geliştirme sürümünü başlatır: ASP.NET:

[Class Browser] bağlantısı, .NET sınıflarını keşfetme aracını başlatır:

Kurulumu test etmek için [WebMatrix]'i çalıştıralım:
![]() |
İlk başlatma sırasında, [WebMatrix] yeni projet.C'in özelliklerini sorar; bu, varsayılan yapılandırmasıdır. Başlangıçta bu iletişim kutusunun görünmemesi için yapılandırılabilir. Bunu [File/New File] seçeneği ile sağlayabiliriz. [WebMatrix], çeşitli web uygulamaları için şablonlar oluşturmaya olanak tanır. Yukarıda (1) ile bir web sayfası olan [ASP.ET Page] uygulamasını oluşturmak istediğimizi belirttik. (2) ile bu web sayfasının yerleştirileceği klasörü belirtiyoruz. (3) numaralı adımda sayfanın adını belirliyoruz. Sayfanın adı .aspx uzantısına sahip olmalıdır. Son olarak (4) numaralı adımda, VB.NET diliyle çalışmak istediğimizi belirtiyoruz; [WebMatrix] ayrıca C# ve J# dillerini de desteklemektedir. Bu işlem tamamlandıktan sonra, [WebMatrix], [demo1.aspx] dosyasının düzenleme sayfasını görüntüler. Buraya aşağıdaki kodu yerleştiririz:

- [Design] sekmesi, oluşturmak istediğimiz web sayfasını "tasarlamamıza" olanak tanır. Bu işlem, Windows uygulamaları oluşturmaya yarayan IDE ile aynı şekilde gerçekleşir.
- [Design]'teki web sayfasının grafik tasarımı, [HTML] sekmesinde HTML kodunu oluşturacaktır
- Web sayfası, örneğin bir düğme gibi, tepki verilmesi gereken olaylar üreten denetimler içerebilir. Bu olaylar, [Code] sekmesine yerleştirilecek olan VB.NET kodu tarafından yönetilecektir
- Sonuç olarak, demo1.aspx dosyası, HTML ve VB.NET kodlarını birleştiren bir metin dosyasıdır; bu dosya, [Design]'te yapılan grafik tasarımın, [HTML] dosyasına elle eklenebilen HTML kodundan ve [Code] dosyasına yerleştirilen VB.NET kodundan oluşur. Dosyanın tamamı [All] sekmesinde mevcuttur.
- Deneyimli bir ASP.ET geliştiricisi, herhangi bir IDE yardımı olmadan bir metin düzenleyicisiyle doğrudan demo1.aspx dosyasını oluşturabilir.
[All] seçeneğini seçelim. [WebMatrix]'in zaten kod ürettiğini görüyoruz:
<%@ Page Language="VB" %>
<script runat="server">
' Sayfa kodunu buraya ekleyin
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- İçeriği buraya ekleyin -->
</form>
</body>
</html>
Burada bu kodu açıklamaya çalışmayacağız. Kodu şu şekilde dönüştürüyoruz:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Yukarıdaki kod, HTML ve VB.NET kodlarının bir karışımıdır. Bu kod, <% ... %> etiketleri arasına yerleştirilmiştir. Bu kodu çalıştırmak için [View/Start] seçeneğini kullanıyoruz. [WebMatrix], Cassini web sunucusu henüz başlatılmamışsa onu başlatır

Bu iletişim kutusunda önerilen varsayılan değerleri kabul edip [Start] seçeneğini seçebiliriz. Böylece web sunucusu etkin hale gelir. [WebMatrix], bulunduğu makinenin varsayılan tarayıcısını başlatır ve URL http://localhost:8080/demo1.aspx adresini ister:

Cassini sunucusunu [WebMatrix] dışında kullanmak mümkündür. Sunucunun yürütülebilir dosyası <WebMatrix>\<sürüm>\WebServer.exe konumunda bulunur; burada <WebMatrix>, [WebMatrix]'in kurulum dizinidir ve <version> ise sürüm numarasıdır:

Bir DOS penceresi açalım ve Cassini sunucusunun klasörüne gidelim:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
[WebServer.exe] dosyasını herhangi bir parametre olmadan çalıştıralım:
Bir yardım penceresi açılıyor:

Cassini web sunucusu olarak da bilinen [WebServer] uygulaması üç parametre kabul eder:
- /port: web hizmetinin bağlantı noktası numarası. Herhangi bir değer olabilir. Varsayılan değer 80'dir
- /path: diskteki bir klasörün fiziksel yolu
- /vpath: önceki fiziksel klasöre atanan sanal klasör. Yukarıdaki yardım panelindeki [Example] örneğinde belirtilenden farklı olarak, sözdiziminin /path=yol değil, /vpath:yol olduğuna dikkat edilmelidir.
[demo1.aspx] dosyasını şu klasöre yerleştirelim:

[d:\data\devel\webmatrix] fiziksel klasörünü [/webmatrix] sanal klasörüyle ilişkilendirelim. Web sunucusu şu şekilde başlatılabilir:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Böylece Cassini sunucusu etkin hale gelir ve simgesi görev çubuğunda görünür. Simgeye çift tıklandığında:

Sunucuyu başlatma ayarlarını görebilirsiniz. Ayrıca, [Stop] web sunucusunu durdurma veya [Restart] web sunucusunu yeniden başlatma seçeneği de mevcuttur. [Root URL] bağlantısına tıklandığında, sunucunun web dizin yapısının kök dizini bir tarayıcıda görüntülenir:

[demos] bağlantısını takip edelim:

ardından [demo1.aspx] bağlantısını:

Görüldüğü gibi, fiziksel klasör P=[d:\data\devel\webmatrix], sanal klasör V=[/webmatrix] ile eşleştirilmişse ve sunucu 100 numaralı bağlantı noktasında çalışıyorsa, fiziksel olarak [P\demos] içinde bulunan [demo1.aspx] web sayfasına, URL ve [http://localhost:100/V/demos/demo1.aspx] aracılığıyla yerel olarak erişilebilecektir.
Cassini sunucusunu başlatmak için DOS penceresinden geçmek zorunda kalmamak amacıyla, sunucunun yürütülebilir dosyasına aşağıdaki özelliklere benzer bir kısayol oluşturulabilir:

"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\travail\2004-2005\aspnet\webarticles-010405\version3\web" /vpath:"/webarticles" | |
"C:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812" |
3.3. Spring'i nerede bulabilirim?
Spring'in ana sitesi [http://www.springframework.org/]'tir. Bu, Java sürümünün sitesidir. Geliştirme aşamasında olan (.NET) sürüm (Nisan 2005) [http://www.springframework.net/] adresinde bulunur.

İndirme sitesi [SourceForge] adresindedir:

Yukarıdaki zip dosyasını indirdikten sonra, dosyayı açın:

Bu belgede, yalnızca [bin] klasörünün içeriğini kullandık:

Spring kullanan bir Visual Studio projesinde, sistematik olarak iki şey yapmanız gerekir:
- yukarıdaki dosyaları projenin [bin] klasörüne yerleştirmek
- Projeye [Spring.Core.dll] derlemesine bir referans eklemek
3.4. Nunit'i nereden bulabilirim?
Nunit'in ana web sitesi [http://www.nunit.org/]'tir. Nisan 2005 itibarıyla mevcut sürüm 2.2.0'dır:

Bu sürümü indirin ve kurun. Kurulum, test amaçlı grafik sürümünün bulunduğu bir klasör oluşturur:
İlginç olan kısım ise [bin] klasöründe yer almaktadır:


Yukarıdaki ok, grafiksel test yardımcı programını göstermektedir. Kurulum ayrıca Visual Studio derleme deposuna yeni öğeler eklemiştir; bunları şimdi inceleyeceğiz.
Aşağıdaki Visual Studio projesini oluşturalım:

Test edilen sınıf [Personne.vb] dosyasındadır:
Public Class Personne
' özel alanlar
Private _nom As String
Private _age As Integer
' varsayılan oluşturucu
Public Sub New()
End Sub
' özel alanlarla ilişkili özellikler
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' kimlik dizesi
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' init yöntemi
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' kapatma yöntemi
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
Test sınıfı [NunitTestPersonne-1.vb]'tedir:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' test edilen nesne
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' Personne nesnesinin bir örneği oluşturulur
personne1 = New Personne
' günlük
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' ekran günlüğü
Console.WriteLine("début test")
' person1'i başlatma
With personne1
.nom = "paul"
.age = 10
End With
' testler
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' ekran günlüğü
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' izleme
Console.WriteLine("teardown test")
End Sub
End Class
Dikkat edilmesi gereken birkaç nokta vardır:
- yöntemler <Setup()>, <TearDown()> gibi özniteliklere sahiptir...
- Bu özniteliklerin tanınabilmesi için:
- projenin [nunit.framework.dll] derlemesine referans vermesi
- test sınıfı, [NUnit.Framework] ad alanını içermelidir
Referans, Çözüm Gezgini'nde [References] öğesine sağ tıklanarak eklenir:
![]() | ![]() |

[Nunit] kurulumunun başarıyla tamamlanması durumunda, [nunit.framework.dll] derlemesi önerilen listede yer almalıdır. Derlemeyi projeye eklemek için üzerine çift tıklamanız yeterlidir:

Bu işlem tamamlandıktan sonra, [NunitTestPersonne] test sınıfı, [NUnit.Framework] ad alanını içe aktarmalıdır:
Ardından, [NunitTestPersonne] test sınıfının öznitelikleri tanınmalıdır.
- <Test()> özniteliği, test edilecek bir yöntemi belirtir
- <Setup()> özniteliği, test edilen her yöntemden önce çalıştırılacak yöntemi belirtir
- <TearDown()> özniteliği, test edilen her yöntemin ardından çalıştırılacak yöntemi belirtir
- Assert.AreEqual yöntemi, iki entités.Il'in eşitliğini test etmeye yarar; Assert.xx türünde birçok başka yöntem de mevcuttur.
- NUnit yardımcı programı, bir [Assert] yöntemi başarısız olur olmaz test edilen yöntemin yürütülmesini durdurur ve bir hata mesajı görüntüler. Aksi takdirde bir başarı mesajı görüntüler.
Projemizi bir DLL oluşturacak şekilde yapılandıralım:

Oluşturulan DLL, [nunit-demos-1.dll] olarak adlandırılacak ve varsayılan olarak projenin [bin] klasörüne yerleştirilecektir. Projemizi derleyelim. [bin] klasöründe şunları elde ederiz:

Şimdi Nunit grafik test yardımcı programını çalıştıralım. Bu programın <Nunit>\bin klasöründe bulunduğunu ve adının [nunit-gui.exe] olduğunu hatırlayalım. <Nunit>, [Nunit]'in kurulum klasörünü ifade eder. Aşağıdaki arayüz karşımıza çıkar:

Projemizdeki DLL ve [nunit-demos-1.dll] dosyalarını yüklemek için [File/Open] menü seçeneğini kullanalım:

[Nunit], yüklenen DLL dosyasında bulunan test sınıflarını otomatik olarak algılayabilir. Burada, [NunitTestPersonne] sınıfını bulur. Ardından, <Test()> özniteliğine sahip olan sınıfın tüm yöntemlerini görüntüler. [Run] düğmesi, seçilen nesne üzerinde testleri başlatmaya yarar. Seçilen nesne [NunitTestPersonne] sınıfı ise, görüntülenen tüm yöntemler test edilir. Belirli bir yöntemin test edilmesini, o yöntemi seçip [Run] ile çalıştırılmasını talep ederek sağlayabilirsiniz. Şimdi sınıfın çalıştırılmasını talep edelim:

Bir yöntemin testi başarılı olduğunda, sol pencerede yöntemin yanında yeşil bir nokta görünür. Test başarısız olduğunda ise kırmızı bir nokta görünür.
Sağdaki [Console.Out] penceresi, test edilen yöntemlerin ürettiği ekran görüntülerini gösterir. Burada, bir testin seyrini takip etmek istedik:
- 1. satır, <Setup()> öznitelik yönteminin testten önce yürütüldüğünü gösterir
- 2-3. satırlar, test edilen [demo] yöntemi tarafından üretilmiştir (yukarıdaki koda bakın)
- 4. satır, <TearDown()> öznitelik yönteminin testten sonra yürütüldüğünü gösterir
3.5. Firebird' 'sinde SGBD nerede bulunur?
Firebird'ün ana web sitesi [http://firebird.sourceforge.net/]'tir. İndirme sayfasında şu bağlantılar bulunmaktadır (Nisan 2005):

Aşağıdaki öğeleri indireceğiz:
Windows için SGBD | |
NET sürücüsüne, ODBC sürücüsü kullanılmadan erişim sağlayan bir sınıf kütüphanesi. | |
Firebird'ün ODBC sürücüsü |
Bu bileşenleri kurun. SGBD, içeriği aşağıdakine benzer bir klasöre kurulur:

İkili dosyalar [bin] klasöründedir:

SGBD dosyasını başlatmaya/durdurmaya yarar | |
veritabanlarını yönetmeye olanak tanıyan istemci |
Varsayılan olarak, SGBD yöneticisinin adı [SYSDBA] ve şifresi [masterkey]'tir. [Démarrer]'e aşağıdaki menüler eklenmiştir:

[Firebird Guardian] seçeneği, SGBD'i başlatmaya/durdurmaya yarar. Başlatıldıktan sonra, SGBD simgesi Windows görev çubuğunda kalır:
![]() |
[isql.exe] komut satırı istemcisi ile Firebird veritabanları oluşturmak ve yönetmek için, ürünle birlikte [doc] klasöründe bulunan belgeleri okumanız gerekir. Firebird ile çalışmanın daha hızlı bir yolu, bir grafik istemci kullanmaktır. Bu tür bir istemci, bir sonraki paragrafta açıklanan IB-Expert'tir.
3.6. IB- Expert'i nereden bulabilirim?
Firebird'ün ana web sitesi [http://www.ibexpert.com/]'tir. İndirme sayfasında aşağıdaki bağlantılar bulunmaktadır:

Ücretsiz sürüm olan [Personal Edition]'i seçin. Bu sürüm indirilip kurulduktan sonra, aşağıdakine benzer bir klasör elde edersiniz:

Yürütülebilir dosya [ibexpert.exe]'tir. Normalde [Démarrer] menüsünde bir kısayol bulunur:

IBExpert başlatıldığında aşağıdaki pencere görüntülenir:

Bir veritabanı oluşturmak için [Database/Create Database] seçeneğini kullanalım:

[local] veya [remote] olabilir. Burada sunucumuz [IBExpert] ile aynı makinede bulunuyor. Bu nedenle [local]'i seçiyoruz | |
Veritabanı dosyasını belirtmek için açılır menüdeki [dossier] türündeki düğmeyi kullanın. Firebird, tüm veritabanını tek bir dosyaya yerleştirir. Bu, Firebird’ün en önemli avantajlarından biridir. Veritabanını bir bilgisayardan diğerine, dosyayı basitçe kopyalayarak taşıyabilirsiniz. [.gdb] uzantısı otomatik olarak eklenir. | |
SYSDBA, mevcut Firebird dağıtımlarının varsayılan yöneticisidir | |
masterkey, mevcut Firebird dağıtımlarının SYSDBA yöneticisinin şifresidir | |
Kullanılacak lehçe SQL'tir | |
Bu kutucuk işaretlendiğinde, IBExpert veritabanı oluşturulduktan sonra oluşturulan veritabanına bir bağlantı gösterecektir |
Oluşturma düğmesi [OK]'e tıkladığınızda aşağıdaki uyarıyı alırsanız:

bu, Firebird'ü başlatmadığınız anlamına gelir. Firebird'ü başlatın. Yeni bir pencere açılır:

[IBExpert], Interbase'den türetilmiş çeşitli SGBD dosyalarını yönetebilir. Yüklediğiniz Firebird sürümünü seçin |
![]()
Bu yeni pencere [Register] tarafından onaylandıktan sonra şu sonuç elde edilir:

Oluşturulan veritabanına erişmek için bağlantısına çift tıklamanız yeterlidir. IBExpert, veritabanının özelliklerine erişim sağlayan bir ağaç yapısı gösterir:

Bir tablo oluşturalım. [Tables] üzerine sağ tıklayıp [New Table] seçeneğini seçin. Tablo özelliklerini tanımlama penceresi açılır:
![]() |
Öncelikle, [1] giriş alanını kullanarak tabloya [ARTICLES] adını verelim:
![]() |
[2] giriş alanını kullanarak [ID] birincil anahtarını tanımlayalım:
![]() |
Bir alan, alanın [PK] (Birincil Anahtar) alanına çift tıklanarak birincil anahtar olarak belirlenir. [3] düğmesini kullanarak alanlar ekleyelim:

Tanımımızı "derlemedikçe" tablo oluşturulmaz. Yukarıdaki [Compile] düğmesini kullanarak tablo tanımını tamamlayalım. IBExpert, tablo oluşturma sorgularını (SQL) hazırlar ve onay ister:

İlginç bir şekilde, IBExpert, çalıştırdığı SQL sorgularını görüntüler. Bu, hem SQL dilini hem de muhtemelen kullanılan özel SQL lehçesini öğrenmeye olanak tanır. [Commit] düğmesi, devam eden işlemi onaylamaya, [Rollback] düğmesi ise iptal etmeye yarar. Burada [Commit] ile işlemi kabul ediyoruz. Bu işlem tamamlandıktan sonra, IBExpert oluşturulan tabloyu veritabanımızın dizin yapısına ekler:

Tabloya çift tıklayarak özelliklerine erişebiliriz:

[Constraints] paneli, tabloya yeni bütünlük kısıtlamaları eklememizi sağlar. Paneli açalım:

Oluşturduğumuz birincil anahtar kısıtlamasını burada görebiliriz. Başka kısıtlamalar da ekleyebiliriz:
- yabancı anahtarlar [Foreign Keys]
- alan bütünlüğü kısıtlamaları [Checks]
- alan benzersizlik kısıtlamaları [Uniques]
Şunu belirtelim:
- [ID, PRIX, STOCKACTUEL, STOKMINIMUM] alanlarının değeri >0 olmalıdır
- [NOM] alanı boş olmamalı ve benzersiz olmalıdır
[Checks] panelini açalım ve kısıtlamaların tanımlandığı alana sağ tıklayarak yeni bir kısıtlama ekleyelim:

İstenen kısıtlamaları tanımlayalım:

Yukarıda, [NOM<>''] kısıtlamasında tırnak işareti yerine iki apostrof kullanıldığına dikkat edin. Yukarıdaki [Compile] düğmesiyle bu kısıtlamaları derleyelim:

Burada da IBExpert, yürüttüğü SQL sorgularını göstererek açıklayıcı bir yaklaşım sergiliyor. Şimdi, adın benzersiz olması gerektiğini belirtmek için [Constraints/Uniques] paneline geçelim:

Kısıtlamayı tanımlayalım:

Derleyelim. Bu işlem tamamlandıktan sonra, [ARTICLES] tablosunun [DDL] panelini açalım:

Bu panel, tüm kısıtlamaları içeren tablonun oluşturulmasına ilişkin SQL kodunu verir. Bu kodu daha sonra tekrar çalıştırmak üzere bir komut dosyasına kaydedebiliriz:
SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
ID INTEGER NOT NULL,
NOM VARCHAR(20) NOT NULL,
PRIX DOUBLE PRECISION NOT NULL,
STOCKACTUEL INTEGER NOT NULL,
STOCKMINIMUM INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);
Şimdi [ARTICLES] tablosuna veri girme zamanı. Bunun için [Data] panelini kullanalım:

Veriler, tablodaki her satırın giriş alanlarına çift tıklanarak girilir. [+] düğmesi ile yeni bir satır eklenir, [-] düğmesi ile bir satır silinir. Bu işlemler, [Commit Transaction] düğmesi ile onaylanan bir işlem içinde gerçekleştirilir. Bu onay yapılmazsa veriler kaybolur.
IBExpert, SQL sorgularını [Tools/SQL Editor] veya [F12] seçeneği ile oluşturmaya olanak tanır. Böylece, sorguları çalıştırabileceğiniz gelişmiş bir SQL sorgu düzenleyicisine erişebilirsiniz. Sorgular kaydedilir ve böylece daha önce çalıştırılmış bir sorguya geri dönebilirsiniz. İşte bir örnek:

Yukarıdaki [Execute] düğmesiyle SQL sorgusunu çalıştırıyoruz. Aşağıdaki sonucu elde ediyoruz:

Örneklerimizi burada sonlandıracağız. IBExpert-Firebird ikilisi, veritabanlarını öğrenmek için mükemmel bir seçimdir.
3.7. sürücüsünü yükleme ve kullanma ODBC için [Firebird]
3.8. Sürücüyü yükleme
[Firebird] indirme sayfasındaki (3.5. paragraf) [firebird-odbc-provider] bağlantısı, bir ODBC sürücüsüne erişim sağlar. Bu sürücü kurulduktan sonra, kurulu ODBC sürücüleri listesinde görünür.
3.9. ODBC kaynağı oluşturma
- [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC] aracını başlatın:

- Aşağıdaki pencere açılır:

- [Add] adında yeni bir sistem veri kaynağı ekleyelim ([System DSN] paneli); bunu bir önceki paragrafta oluşturduğumuz Firebird veritabanıyla ilişkilendireceğiz:

- öncelikle kullanılacak sürücüyü ODBC belirtmemiz gerekiyor. Yukarıda, Firebird sürücüsünü seçip [Terminer]'i yapıyoruz. Ardından Firebird sürücüsü ODBC'in sihirbazı devreye giriyor:

- Çeşitli alanları dolduruyoruz:

kaynağın adı DSN (ODBC) - herhangi bir isim olabilir | |
Kullanılacak Firebird dosyasının adı BD - ilgili .gbd dosyasını belirtmek için [Browse] kullanın | |
veritabanına bağlanmak için kullanılacak kimlik | |
bu kullanıcı adıyla ilişkili şifre |
[Test connection] düğmesi, girdiğimiz bilgilerin geçerliliğini kontrol etmemizi sağlar. Bu düğmeyi kullanmadan önce, SGBD ve [Firebird] komutlarını çalıştırın:

- ODBC sihirbazını onaylayın; bunun için [OK] adımını gerektiği kadar tekrarlayın
3.10. ODBC kaynağını test edin
Bir kaynağın düzgün çalışıp çalışmadığını kontrol etmenin çeşitli yolları vardır ODBC. Burada Excel'i kullanacağız:

- Yukarıdaki [Données -> Données externes -> Créer une requête] seçeneğini kullanalım. Veri kaynağı tanımlama sihirbazının ilk penceresi açılır. [Bases de données] paneli, bilgisayarda şu anda tanımlanmış olan ODBC kaynaklarını listeler:

- Az önce oluşturduğumuz ODBC [odbc-firebird-articles] kaynağını seçelim ve [OK] ile bir sonraki adıma geçelim:

- Bu pencerede, ODBC kaynağında bulunan tablolar ve sütunlar listelenmektedir. Tablonun tamamını alalım:

- [Suivant] ile bir sonraki adıma geçelim:

- Bu adımda verileri filtreleyebiliriz. Burada herhangi bir filtreleme yapmadan bir sonraki adıma geçiyoruz:

- Bu adım, verileri sıralamamıza olanak tanır. Bunu yapmayacağız ve bir sonraki adıma geçelim:

- Son adımda verilerle ne yapmak istediğimiz sorulur. Burada verileri Excel'e aktarıyoruz:

- Burada Excel, alınan verileri nereye yerleştirmek istediğimizi sorar. Verileri, A1 hücresinden başlayarak aktif sayfaya yerleştiririz. Veriler daha sonra Excel sayfasına aktarılır:

Bir kaynağın geçerliliğini test etmenin başka yolları da vardır ODBC. Örneğin, URL [http://www.openoffice.org] adresinde bulunan ücretsiz OpenOffice paketini kullanabiliriz. İşte bir metin örneği: OpenOffice:
![]() | ![]() |
- OpenOffice penceresinin sol tarafındaki bir simge, veri kaynaklarına erişim sağlar. Ardından arayüz değişerek veri kaynaklarını yönetme alanı açılır:

- Önceden tanımlanmış bir veri kaynağı vardır: [Bibliography]. Veri kaynakları alanına sağ tıklayarak, [Gérer les sources de données] seçeneğiyle yeni bir veri kaynağı oluşturabiliriz:

- [Gestion des sources de données] sihirbazı, veri kaynakları oluşturmanıza olanak tanır. Veri kaynakları alanına sağ tıklayarak [Nouvelle source de données] seçeneğiyle yeni bir veri kaynağı oluşturabilirsiniz:

İstediğiniz herhangi bir ad. Burada ODBC kaynağının adını kullandık | |
OpenOffice, BD'i JDBC, ODBC aracılığıyla veya doğrudan (MySQL, Dbase, ...) yönetebilir. Örneğimiz için ODBC seçilmelidir | |
Giriş alanının sağındaki düğme, makinedeki ODBC kaynaklarının listesine erişim sağlar. [odbc-firebird-articles] kaynağını seçiyoruz |
- [ODBC] paneline geçip, bağlantı kurulacak kullanıcı kimliğini tanımlıyoruz:

ODBC kaynağının sahibi |
- [Tables] paneline geçiyoruz. Şifre isteniyor. Burada şifre [masterkey]:

- [OK] komutunu giriyoruz. Ardından ODBC kaynağındaki tablo listesi görüntülenir:

- [OpenOffice] belgesinde gösterilecek tabloları tanımlayabiliriz. Burada [ARTICLES] tablosunu seçip [OK] komutunu giriyoruz. Veri kaynağı tanımı tamamlanmıştır. Ardından, aktif belgenin veri kaynakları listesinde görünür:

- Fareyi kullanarak yukarıdaki [ARTICLES] tablosunu [OpenOffice] metnine sürükleyebiliriz:

3.11. ODBC Firebird kaynağının bağlantı dizesi
- Visual Studio'yu başlatın ve [Affichage/Explorateur de serveurs] sunucu gezgini penceresini açın:
![]() |
- [Connexion de données] üzerine sağ tıklayın ve [Ajouter une connexion] seçeneğini seçin:

- [Provider] panelinde, ODBC kaynağını kullanmak istediğinizi belirtin (yukarıya bakın), ardından [Connection] paneline geçin:

açılır menüden ODBC kaynağını seçin. Az önce oluşturulan kaynak görünmelidir. Gerekirse, [Refresh]'i kullanarak ODBC kaynak listesini yenileyin. | |
veritabanına bağlanmak için kullanılacak kimlik | |
bu kullanıcı adıyla ilişkili şifre |
Burada da [Test Connection] düğmesi, bilgilerin geçerliliğini kontrol etmenizi sağlar:

- [OK] ile sihirbazı onaylayın. Ardından, veri kaynağı Visual Studio'daki [Explorateur de serveurs] penceresinde görünür:

- [ARTICLES] tablosuna çift tıklayarak tablodaki verilere erişilebilir:

- [Firebird Server D:\temp\... ] bağlantısına sağ tıklayıp [Propriétés] seçeneğini seçtiğimizde, bağlantı özelliklerine erişebiliriz:

- [ConnectString] bağlantı dizesi, .NET kodunun veritabanına bağlantı kurmak için buna ihtiyaç duyması nedeniyle bilinmesi gereken ilginç bir özelliktir. Burada bu bağlantı dizesi şöyledir:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"
Bu bağlantı dizesinin birçok öğesinin varsayılan değerleri vardır. Aşağıdaki bağlantı dizesiyle yetinebiliriz:
Bu, ODBC sürücüsünün tanıtımını sonlandırır.
3.12. SGBD MSDE'i nereden bulabilirim?
MSDE, Microsoft’un SGBD ve SQL Sunucusu’nun ücretsiz sürümüdür. Aşağıdaki adreste bulunabilir:
![]() |
![]() | ![]() |
Kurulum dosyasını indirin ve indirilen yürütülebilir dosyaya çift tıklayarak SGBD'i kurun. Bir pencere açılır ve kurulum klasörünü sorar. Başlık yanıltıcıdır. Bu, daha sonra silinebilecek geçici bir klasördür:
![]() | ![]() |
[ReadmeMSDE2000A.htm] dosyasını dikkatlice okuyun. Yükleyici programı, yukarıda belirtilen [setup.exe]'tir. Parametreler verilebilmesi için komut satırından çalıştırılır. Başlıca parametreler şunlardır:
Açıklama | |
| Yönetici oturum açma adı "sa" için atanacak güçlü bir şifre belirler. |
| Örnek adını tanımlar. INSTANCENAME belirtilmezse, kurulum programı varsayılan bir örnek yükler. |
Yüklemeyi özelleştirmek için sıklıkla kullanılan diğer parametreler şunlardır:
Açıklama | |
| Örneğin, diğer bilgisayarlarda çalışan uygulamalardan gelen ağ bağlantılarını kabul edip etmeyeceğini belirtir. Varsayılan olarak veya DISABLENTWORKPROTOCOL=1 değerini belirtirseniz, kurulum programı örneği ağ bağlantılarını reddedecek şekilde yapılandırır. Ağ bağlantılarını etkinleştirmek için DISABLENETWORKPROTOCOLS=0 değerini belirtin. |
Örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, örneğin, | |
| Yükleyicinin sistem veritabanlarını, hata günlüklerini ve kurulum komut dosyalarını yükleyeceği klasörü belirtir. chemin_dossier_données için belirtilen değer, ters eğik çizgi (\) ile bitmelidir. Varsayılan bir örnek için, yükleyici belirtilen değere MSSQL\ ekler. Adlandırılmış bir örnek için, kurulum programı MSSQL$NomInstance\ ekler; burada NomInstance, INSTANCENAME parametresiyle belirtilen değerdir. Yükleyici, belirtilen konuma üç klasör oluşturur: bir Data klasörü, bir Log klasörü ve bir Script klasörü. |
| Yükleyici programının MSDE 2000'in yürütülebilir dosyalarını yükleyeceği klasörü belirtir. chemin_dossier_exécutables için belirtilen değer, ters eğik çizgi (\) ile bitmelidir. Varsayılan bir örnek için, yükleyici belirtilen değere MSSQL\Binn ekler. Adlandırılmış bir örnek için, yükleyici MSSQL$NomInstance\Binn ekler; burada NomInstance, INSTANCENAME parametresiyle belirtilen değerdir. |
Yukarıdaki kurulum önerilerini okuduktan sonra, kurulum dosyalarının çıkarıldığı klasöre gideriz ve aşağıdaki DOS komutunu veririz (ağsız SGBD kullanımı):
- INSTANCENAME="MSDE140405" - bu, MSDE adlı örneğimizin adı olacaktır. Birden fazla örnek kurabilirsiniz.
- SECURITYMODE=SQL - veritabanı sistemi karma kimlik doğrulama modunda çalışacaktır. Böylece MSDE'ye iki şekilde bağlanabileceğiz:
- bir Windows yönetici hesabı ile
- MSDE hesabıyla - bu durumda bir kullanıcı adı ve şifre istenir. SGBD veritabanına bağlanan bir programda kullanılacak mod budur.
- SAPWD="azerty" - bu, SGBD kullanıcısının şifresidir. [sa] kullanıcısı, SGBD üzerinde yönetici haklarına sahiptir.
SGBD'i ağ üzerinden kullanmak için şu komut verilir:
Yükleme programı oldukça basit ve hiçbir uyarı vermeden sona eriyor... Ancak SGBD'in [Menu Démarrer -> Panneau de configuration -> Ajouter et supprimer des programmes] seçeneği aracılığıyla yüklendiği görülebilir:
![]()
Yükleme normalde C:\Program Files\Microsoft SQL Server\MSSQL$nomInstance dizinine yapılır:
![]() | ![]() |
Kurulum klasöründeki [LOG] klasöründe, SGBD kurulum aşamasına ait günlük dosyası bulunur. Bu dosyada önemli bir bilgi yer alır: MSDE örneğinin adı:
Bu adı bilmek önemlidir, çünkü SGBD'in tüm istemcileri buna ihtiyaç duyacaktır. Bu günlük dosyaları yoksa, MSDE sunucusunun adının [machine_windows\nom_instance_MSDE] olduğunu öğrenebiliriz. Makinenin adı çeşitli yerlerde bulunabilir. Örneğin:
- masaüstündeki [poste de travail]'e sağ tıklayın, [propriétés] seçeneğini seçin, ardından [Nom de l'ordinateur] panelini seçin:

MSDE sunucusunun nasıl başlatılacağı hâlâ bilinmemektedir. Normalde [Démarrer/Démarrage]'e bir kısayol yerleştirilmiştir.

Bu kısayolun özelliklerine bakıldığında, hedefin şu olduğu görülür:
[ C:\Program Files\Microsoft SQL Server] klasöründe şu alt klasörler bulunmaktadır:

- MSSQL$MSDE140405, az önce kurduğumuz MSDE örneğinin klasörüdür.
- MSSQL, önceki bir örnek olan MSDE'in klasörüdür. Adı olmadığı için buna varsayılan örnek denir.
- [80] klasörü, kurulu olan farklı MSDE örnekleri için ortak bir klasördür. MSDE örneğini başlatan kısayolun hedefi olan [sqlmangr.exe], [ 80\Tools\Binn] klasöründedir.
[Démarrer -> Programmes -> Démarrage] kısayolunu kullanarak MSDE'i başlatalım. Durum çubuğuna bir simge eklenmesi dışında neredeyse hiçbir şey olmuyor: | Bu simgeye çift tıklayalım: ![]() |
Burada önerilen MSDE sunucusu, bilgisayarda bulunan varsayılan [PORTABLE1_TAHE]'tir. Hatırlayalım ki kurduğumuz MSDE sunucusunun adı [PORTABLE1_TAHE\MSDE140405] olarak adlandırıldığını hatırlayalım. uygun alana sunucunun adını değiştiriyoruz: ![]() | Her şey yolunda giderse, [MSDE140405] örneği başlatılmalıdır: ![]() |
İlk kontrolü yapabiliriz. [sqlmangr.exe]'in bulunduğu klasörün içinde, MSDE sunucusuna bağlanıp SQL komutlarını gönderebilmenizi sağlayan [osql.exe] konsol istemcisi bulunur. Kurulum sırasında, MSDE sunucumuzun [sa] yöneticisine [azerty] şifresini atadık. Konsol istemcisi aracılığıyla yeni kurulan sunucuya bağlanacağız. [osql -?] komutunu çalıştırdığımızda, olası parametrelerin listesi görüntülenir:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
[-U ID de connexion]
[-P mot de passe]
[-S serveur]
[-H nom de l'hôte]
[-E connexion approuvée]
[-d utiliser le nom de la base de données]
[-l limite du temps de connexion]
[-t limite du temps de requête]
[-h en-têtes]
[-s séparateur de colonnes]
[-w largeur de colonne]
[-a taille du paquet]
[-e entrée d'écho]
[-I Activer les identificateurs marqués]
[-L liste des serveurs]
[-c fin de cmd] [-D nom ODBC DSN]
[-q "requête cmdline"]
[-Q "requête cmdline" et quitter]
[-n supprimer la numérotation]
[-m niveau d'erreur]
[-r msgs vers stderr]
[-V severitylevel]
[-i fichier d'entrée]
[-o fichier de sortie]
[-p imprimer les statistiques] [-b abandon du lot d'instruction après erreur]
[-X[1] désactive les commandes [et quitte avec un avertissement]]
[-O utiliser le comportement Old ISQL désactive les éléments suivants]
<EOF> traitement par lot d'instructions
Mise à l'échelle automatique de la largeur de la console
Messages larges
niveau d'erreur par défaut de -1 au lieu de 1
[-? description de la syntaxe]
Yukarıda belirtildiği gibi [MSDE140405] sunucusunu başlatalım, ardından bir DOS penceresinde [osql] komutunu kullanarak [portable1_tahe\msde140405] sunucusuna [sa, azerty] kimliğiyle bağlanalım:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>
[1>] komut istemi, [osql]'in bir komut beklediğini gösterir. Bağlantı başarılı. [osql]'i doğru şekilde kullanmak için MSDE belgelerine bakmanız gerekir. Bu belgeler çeşitli formatlarda (pdf, htmlhelp, ...) mevcuttur. Bu belgeler oldukça kapsamlıdır. Genellikle bir MSDE veritabanıyla çalışmak için grafiksel bir istemci kullanılması tercih edilir. Bu, biraz ileride önerilmektedir. [osql]'ten çıkmak için [exit] komutu kullanılır:
Şimdi, yeni kurulan MSDE sunucusunda veritabanlarının nasıl oluşturulacağını göreceğiz. Öncesinde, bir MSDE sunucusunun kimlik doğrulama modunu değiştirmeye yarayan [MSDE Manager] aracını kısaca tanıtacağız. Aslında, bu tür bir sunucuyu varsayılan kurulum seçenekleriyle kurarsak, sunucunun kimlik doğrulama modu [authentification windows] türündedir. Bu kimlik doğrulama türü, yalnızca Windows makinesinde (muhtemelen bir etki alanı aracılığıyla) tanımlanmış kullanıcıların erişimine izin verir. Bir veritabanına bağlanarak içeriğini kullanmak isteyen bir VB.NET programı için bu mod pek pratik değildir. JDBC sürücüsü aracılığıyla SGBD'e erişen Java uygulamaları için durum daha da kötüdür. Bu durumda, önceki kimlik doğrulamasına ek olarak SGBD'te tanımlanmış kullanıcı adı ve şifre çiftlerini de kabul eden karma kimlik doğrulaması tercih edilir. [MSDE Manager] aracı bu işlemi gerçekleştirmeye olanak tanır.
3.13. MSDE Manager nerede bulunur?
[MSDE Manager], SGBD ve MSDE için bir yönetim aracıdır. Bu araç, URL ve [http://www.valesoftware.com/] adreslerinde bulunabilir.
Yukarıdaki bağlantıyı takip ederek ücretsiz sürümü indirebiliriz:


Deneme sürümünün kullanım süresi kısadır. Bu durum bizim için uygundur, çünkü programı yalnızca tek ve çok belirli bir işlem için kullanacağız. Ürünü indirip kuruyoruz. Masaüstüne bir kısayol eklenir. Bu kısayolu kullanarak MSDE Manager'ı başlatıyoruz. İlk pencereleri geçtikten sonra şu pencereye ulaşıyoruz:

- MSDE140405 sunucusunu başlatın
- Windows makinesinde yönetici olarak oturum açmış olmanız gerekir
- [SQL Server Group] bağlantısına sağ tıklayın ve [New SQL Server Registration] seçeneğini seçin:


Aşağıdaki özellikler sayfası açılır:
![]() |
portable1_tahe\msde140405 - bağlanmak istediğiniz MSDE örneğinin adı | |
Windows kimlik doğrulaması - bu mod her zaman kullanılabilir ve bir Windows makinesi yöneticisinin sunucuya bağlanmasına olanak tanır MSDE | |
Görüntülenen tek sunucu grubunu seçin: [SQL Server Group] |
[OK] seçeneğine tıklandığında, MSDE140405 sunucusunun özellik ağacı görüntülenir:

Veritabanı oluşturmaya başlayabiliriz. Ancak bunu yapmayacağız çünkü daha önce incelediğimiz IBExpert ürününün bir klonu olan başka bir ürün kullanacağız. Sadece MSDE'in kimlik doğrulama modunu değiştireceğiz. Yukarıdaki MSDE140405 sunucusuna sağ tıklayıp [Design] seçeneğini seçelim:

Aşağıdaki bilgi penceresi açılır:

[General] paneli, bağlı olduğumuz MSDE sunucusu hakkında bilgi verir. Bizi ilgilendiren sayfa [Security]'tir:

Burada, MSDE sunucusunun kimlik doğrulama modunun [SQL Server and Windows] olduğundan emin olunmalıdır. Böylece, MSDE sunucusuna iki şekilde bağlanılabilir:
- bir Windows yönetici hesabıyla – burada yapılan da budur
- bir MSDE hesabı ile – bu durumda bir kullanıcı adı ve şifre istenir. SGBD veritabanına bağlanan bir programda kullanılacak yöntem budur.
Bu seçimi onaylayıp MSDE Manager'dan çıkıyoruz. Artık buna ihtiyacımız olmayacak. MSDE veritabanlarını oluşturmak için başka bir araç kullanacağız: EMS MS SQL Manager.
3.14. EMS , MS ve SQL Manager'ı nereden bulabiliriz?
EMS, MS ve SQL Manager, SGBD Microsoft SQL Server ve dolayısıyla MSDE ile çalışmaya olanak tanıyan bir grafik araçtır. Daha önce açıklanan IB-Expert aracına çok benzemektedir. URL [http://sqlmanager.net/] (Nisan 2005) sürümünde mevcuttur:

Site, birçok SGBD için yönetim araçları sunmaktadır. [MS SQL Manager] bağlantısını takip edin:

Yukarıda, ürünün hafifletilmiş sürümünü seçiyoruz. Bunu indirip kurun. Aşağıdakine benzer bir klasör elde edersiniz:

Yürütülebilir dosya [MsManager.exe]'tir. Normalde [Démarrer] menüsünde bir kısayol bulunur:

MS SQL Manager başlatıldığında aşağıdaki pencere görüntülenir:

Öncelikle, üzerinde çalışmak istediğimiz MSDE sunucusunu [Database/Register Host] seçeneği ile kaydedelim:
![]() |
Açıklamalar:
- 1. adım - Daha önce de belirtildiği gibi, MSDE iki kimlik doğrulama modunu destekler: Windows ve SQL Sunucusu. [windows] modunda, Windows makinesindeki hesaplar kullanılır. [SQL Server] modunda ise SGBD hesapları kullanılır. [SQL Server], [Windows] modunda veya [Windows, SQL Server] karma modunda çalışabilir. [Windows] kimlik doğrulama modu her zaman mevcuttur. Karma kimlik doğrulama modu ise her zaman etkin değildir. MSDE Manager ile bunu nasıl etkinleştireceğimizi gördük. Yukarıda, bağlantı bir yönetici hesabıyla gerçekleştirilmiştir.
- 2. adım - Kimlik doğrulama başarılı olduktan sonra, MSDE'in varsayılan veritabanları önerilir. Yukarıda, bunların tümü seçilmiştir.
![]() |
Açıklamalar:
- 3. adım: Seçilen veritabanlarının yönetim seçenekleri belirlenebilir. Burada, varsayılan olarak sunulan seçenekler korunmuştur.
- 4. adım: MSDE sunucusunu [Register] düğmesiyle kaydediyoruz
MSDE sunucusu, veritabanı gezgininde görünür:

[Database/Create Database] seçeneğini kullanarak bir veritabanı oluşturalım:
![]() |
2. adım:
Bu bilgi sayfası görüntülendiğinde, [dbarticles] veritabanı oluşturulmuş demektir. Bunu [Test Connect] düğmesiyle doğrulayabiliriz. [Database alias] alanına istediğimiz herhangi bir şey yazabiliriz. Burada şunu belirttik:
- veritabanının adı
- veritabanının bulunduğu MSDE sunucusunun adı
- bu veritabanının sahibi olacak [admarticles] kullanıcısı ve şifresi [mdparticles]. Bu kullanıcı henüz oluşturulmadı, ancak yakında oluşturulacak.
3. adım:
- [Register] düğmesiyle yeni veritabanını [MS SQL Server ]'e kaydediyoruz. Kaydedildikten sonra, [admarticles] veritabanı veritabanları listesinde görünür. Üzerine çift tıkladığınızda özelliklerinin ağaç yapısı görüntülenir.
![]() | ![]() |
[admarticles] veritabanının yöneticisi olacak yeni bir oturum açma hesabı oluşturalım.
- [Tools/Login manager] seçeneğini seçin:

- Zaten iki kullanıcı hesabının tanımlandığını görüyoruz:
- [BUILTIN\Administrateurs]: Bu kullanıcı adı, Windows kimlik doğrulamasını kullanır. MSDE sunucusunun bulunduğu Windows makinesinin yöneticilerini temsil eder
- sa: Bu oturum açma bilgisi SQL kimlik doğrulamasını kullanır. Varsayılan olarak MSDE sunucusunun yöneticisidir. Hatırlatmak gerekirse, SGBD MSDE kurulumundaki ayarlara göre, şifresi [azerty]'tir.
- Giriş alanına sağ tıklayıp yeni bir giriş ekleyelim:
![]() |
- Yeni giriş bilgisinin özelliklerini tanımlayacağımız bir giriş penceresi açılır:

- Giriş Adı: admarticles
- Şifre: mdparticles
- [OK] düğmesine tıklandığında, MS Manager bize yürüteceği SQL sorgularını gösterir:

Yukarıda gösterilen SQL dili Transact-SQL'dir; SQL ise MSDE'in dilidir. Bu kodun [OK] tarafından yürütülmesini talep ediyoruz
- yeni oturum açma bilgisi oturum açma listesine eklenir:

- [dbarticles] veritabanının özellikler penceresinde, [users] üzerine sağ tıklayarak [dbarticles] veritabanında haklara sahip bir kullanıcı oluşturuyoruz:

- Böylece aşağıdaki pencere açılır:

- [Login] açılır menüsünde mevcut kullanıcı adlarının listesi bulunur. [admarticles] kullanıcı adını seçin.
- [Name]'te bir kullanıcı adı girilir. Aynı giriş bilgisine birden fazla kullanıcı atanabilir. Bu nedenle MSDE'te bir kullanıcı oluşturmak için önce bir giriş bilgisi oluşturulması gerekir. [User] paneli şu şekilde görünür:

- Şimdi, kullanıcımızın yetkilerini tanımlamamızı sağlayacak [Member Of] paneline geçelim:

- MSDE'i sık kullanmıyorum ve sol pencerede önerilen rollerin her birinin tam anlamını bilmiyorum. [db_owner] rolü cazip görünüyor (owner=sahip). Dolayısıyla, [admarticles] kullanıcımız için bunu seçiyoruz:

- Seçimlerimizi yukarıdaki [Compile] düğmesiyle onaylıyoruz. Yürütme sırasında sunulan SQL sorguları şunlardır:

- Bunları [OK] ile derliyoruz. Artık [dbarticles] veritabanında bir kullanıcıya sahibiz:

- Şimdi bir tablo oluşturalım. [Tables] üzerine sağ tıklayıp [New Table] seçeneğini seçiyoruz. Tablo özelliklerini tanımlama penceresi açılır:

- Öncelikle, [Table Name] giriş alanını kullanarak tabloya [ARTICLES] adını verelim. Ardından [Fields] paneline geçelim:

- Aşağıdaki alanları tanımlayalım:

Tanımımızı "derlemedikçe" tablo oluşturulmaz. Yukarıdaki [Compile] düğmesini kullanarak tablo tanımını tamamlayalım. [MS SQL Manager], tablo oluşturma sorgularını (SQL) hazırlar ve onay ister:

İlginç bir şekilde, [MS SQL Manager], çalıştırdığı SQL sorgularını görüntüler. Bu, Transact-SQL dilini öğrenmeye de olanak tanır. [Commit] düğmesi, devam eden işlemi onaylamaya, [Rollback] düğmesi ise iptal etmeye yarar. Burada [Commit] ile işlemi onaylıyoruz. Bu işlem tamamlandıktan sonra, [MS SQL Manager] oluşturulan tabloyu veritabanımızın dizin yapısına ekler:

Tabloya çift tıklayarak özelliklerine erişilebilir:

[Checks] paneli, tabloya yeni bütünlük kısıtlamaları eklememizi sağlar. [ARTICLES] tablosu için aşağıdaki kısıtlamaları oluşturacağız:
- [ID, PRIX, STOCKACTUEL, STOKMINIMUM] alanlarının değeri >=0 olmalıdır
- [NOM] alanı boş olmamalıdır
[Checks] panelinde, boş alana sağ tıklayarak yeni bir kısıtlama olan [New check]'i ekleyelim:

- Kısıtlamalar düzenleme sayfası şu şekilde görünür:

Name: kısıtlamanın adı
Tablo: kısıtlamanın uygulandığı tablo
Tanım: kısıtlamanın ifadesi
Kısıtlama, yukarıdaki [Compile] düğmesi ile derlenir.
- Yine [MS SQL Manager], yürütülen SQL komutlarını gösterir:

- Bunlar, [Commit] düğmesi (gösterilmemiştir) ile onaylanır. [ARTICLES] tablosundaki [Checks] paneline geri dönülürse, yeni kısıtlama görünür:

- Diğer kısıtlamaları da aynı şekilde tanımlayarak sonunda şu listeyi elde ederiz:

Bunu yaptıktan sonra, [ARTICLES] tablosundaki [DDL] panelini açalım:

Bu panel, tüm kısıtlamalarıyla birlikte tablonun oluşturulmasına yönelik Transact-SQL kodunu verir. Bu kodu daha sonra tekrar çalıştırmak üzere bir komut dosyasına kaydedebiliriz:
CREATE TABLE [ARTICLES] (
[id] int NOT NULL,
[nom] varchar(20) COLLATE French_CI_AS NOT NULL,
[prix] float(53) NOT NULL,
[stockactuel] int NOT NULL,
[stockminimum] int NOT NULL,
CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
PRIMARY KEY ([id]),
CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO
Şimdi [ARTICLES] tablosuna bazı veriler girmemizin zamanı geldi. Bunun için [Data] panelini kullanalım:

[+] düğmesi bir satır eklemeye, [-] düğmesi ise bir satırı silmeye yarar. Veriler, tablonun her satırındaki giriş alanlarına doğrudan yazılarak girilir. Bir satır, aşağıdaki [Post Edit] düğmesi ile onaylanır:
![]()
İki ürün oluşturalım:

[MS SQL Manager], SQL sorgularını [Tools/Show SQL Editor] veya [F12] seçeneği ile oluşturmaya olanak tanır. Böylece, sorguları çalıştırabileceğimiz gelişmiş bir SQL sorgu düzenleyicisine erişebiliriz. Sorgular kaydedilir ve böylece daha önce çalıştırılmış bir sorguya geri dönebiliriz. İşte bir örnek:

Yukarıdaki [Execute] düğmesiyle SQL sorgusunu çalıştırıyoruz. Aşağıdaki sonucu elde ediyoruz:

Örneklerimizi burada sonlandıracağız. [MS SQL Manager - MSDE] çifti, tıpkı [IBExpert - Firebird] çifti gibi, veritabanı öğrenimi için de mükemmel bir örnek teşkil etmektedir.
3.15. ODBC [MSDE] kaynağı oluşturma
SQL Sunucusu için ODBC sürücüsü, normalde Windows makinelerde varsayılan olarak yüklenmiştir.
- [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC] aracını başlatın:

- Aşağıdaki pencere açılır:

- [Add] adında yeni bir sistem veri kaynağı ekleyelim ([System DSN] paneli); bunu, önceki paragrafta oluşturduğumuz MSDE veritabanıyla ilişkilendireceğiz:

- öncelikle kullanılacak ODBC sürücüsünü belirtmemiz gerekiyor. Yukarıda, [SQL Server] için sürücüyü seçiyoruz, ardından [Terminer]'i oluşturuyoruz. Ardından, [SQL Server]'in ODBC sürücüsü sihirbazı devreye giriyor:

- Çeşitli alanları dolduruyoruz:
kaynak adı ODBC - herhangi bir isim olabilir | |
herhangi bir isim olabilir | |
MSDE kaynak verilerini barındıran sunucunun adı ODBC |
- yeni bilgiler eklemek için [Suivant] olarak değiştirilir:

- Çeşitli alanları dolduruyoruz:
ODBC veri kaynağına, MSDE sunucusunda kayıtlı bir kullanıcı adıyla bağlanacağımızı belirtiriz | |
kullanıcı adı | |
kullanıcı şifresi |
- Bir önceki paragrafta oluşturulan kullanıcıyı (admarticles, mdparticles) ilk kez kullandığımızı fark edeceksiniz. Yine [Suivant] komutunu vererek aşağıdaki yeni sayfayı elde ediyoruz:

- Çeşitli alanları dolduruyoruz:
[dbarticles] veritabanını, [admarticles] kullanıcısı için varsayılan veritabanı olarak seçiyoruz |
- [Suivant] komutunu vererek aşağıdaki yeni sayfayı elde ediyoruz:

- Varsayılan değerleri kabul edip [Terminer] komutunu çalıştırıyoruz. Oluşturulacak ODBC kaynağının özelliklerinin bir özeti aşağıda verilmiştir:

- [Tester la source de données] düğmesi, bilgilerimizin geçerliliğini kontrol etme fırsatı sunar. MSDE'in başlatıldığını kontrol edin ve ardından bağlantıyı test edin:

- Artık [admarticles, mdparticles] çiftinin tanındığından eminiz.
Ek testler için okuyucu, 3.10. paragrafında açıklanan prosedürü takip edebilir.
3.16. MSDE veritabanına bağlantı dizesi
- Visual Studio'yu başlatın ve [Affichage/Explorateur de serveurs] sunucu gezgini ekranını görüntüleyin:
![]() |
- [Connexion de données] üzerine sağ tıklayın ve [Ajouter une connexion] seçeneğini seçin:

- [Provider] panelinde, SQL Sunucusu kaynağını kullanmak istediğinizi belirtin, ardından [Connection] paneline geçin. Burada ODBC sürücüsünü kullanmadığınızı unutmayın.

bağlanılan MSDE sunucusunun adı | |
veritabanına bağlanmak için kullanılacak kimlik bilgisi | |
bu kullanıcı adıyla ilişkili şifre | |
Çalışmak istediğiniz veritabanı |
[Tester la connexion] düğmesi, bilgilerin geçerliliğini kontrol etmenizi sağlar:

- [OK] ile sihirbazı onaylayın. Oldukça ilginç bir şekilde, yeni bir pencere bağlantı özelliklerini sorar:

- Bu bilgileri tekrar girip [OK] komutunu çalıştırıyoruz. Ardından, veri kaynağı Visual Studio'daki [Explorateur de serveurs] penceresinde görünür:

- [ARTICLES] tablosuna çift tıklayarak tablodaki verilere erişebiliriz:

- [Explorateur de serveurs] panelindeki [portable1_tahe\msde140405.dbarticles.admarticles] bağlantısına sağ tıklayıp [Propriétés] seçeneğini seçtiğimizde, bağlantı özelliklerine erişebiliriz:

- [ConnectString] bağlantı dizesi, .NET kodunun veritabanına bağlantı kurmak için buna ihtiyaç duyması nedeniyle bilinmesi gereken ilginç bir özelliktir. Burada bu bağlantı dizesi şöyledir:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False
Bu bağlantı dizesinin birçok öğesinin varsayılan değerleri vardır. Aşağıdaki bağlantı dizesiyle yetinebiliriz:






























