Öncelikle bu yazıyı yazmamın en önemli sebebinden bahsetmek istiyorum. Geçenlerde yazmış olduğum bir programın veritabanını değiştirmek zorunda kaldım. Veritabanı seçimi yaparken en uygun ve kullanışlı olarak Firebird'te karar kıldım. Fakat küçük bir problem vardı çünkü hiç bir yerde gömülü Firebird veritabanı bağlantısı hakkında açıklayıcı bir bilgi yoktu. Bu nedenle Firebird kullanmak isteyen ve bağlantı hakkında bilgi arayışında olanlar benim gibi saatlerini hatta günlerini harcamasın diye böyle bir bilgi paylaşımına karar verdim.
İlk olarak ekteki sıkıştırılmış dosyayı projemizin debug klasörünün içine çıkartalım. Bunlar bağlantının çalışabilmesi için gerekli olan dll dosyalarıdır. Veritabanının aynı klasörün içinde olduğunda emin olun. Daha sonra projemizin referans kısmından FirebirdSql.Data.FirebirdClient.dll dosyasını referans olarak ekleyelim(bu dosya debug klasöründe mevcut). Daha sonra formun üst kısmına using FirebirdSql.Data.FirebirdClient; yazarak projemize dahil ediyoruz. Sıra geldi bağlantı kodumuzu yazmaya.
FbConnection baglanti = new FbConnection("ServerType=1;User=SYSDBA;Password=;Dialect=3;Database=veritabanı.fdb");
Şimdi nedir bu kod kısaca açıklayalım. Değişkeni açıklamaya gerek yok çünkü bu aşamadaki bir kişi ne olduğunu zaten biliyordur. Bağlantı türünü ServerType=1 olarak tanımladık. Buradaki 1 veritabanının gömülü olduğu anlamına gelir. Eğer biz bunu 0 yazsaydık gömülü veritabanı bağlantısı değilde Firebird server üzerinden çalışan bir veritabanı olduğunu belirtmiş olurduk. User=SYSDBA; Firebird veritabanı oluştururken çoğu veritabanı yöneticilerinin kullanmış olduğu genel kullanıcı adıdır. Bunu değiştirebilirsiniz fakat gömülü veritabanında kullanıcı adı ve şifre ile oynadığınızda bağlantı sırasında hata alma ihtimaliniz oldukça yüksek çünkü gömülü veritabanı oluştururken veritabanı yöneticileri şifre belirlemenize izin vermiyor. Bu nedenle kullanıcı adına hiç dokunmamak ve şifre kısmını boş bırakmak en iyisi. Bu güvenlik açısından büyük bir sorun fakat ben gömülü veritabanında şifre kullanımıyla ilgili şimdiye kadar hiçbir bilgiye rastlamadım. Bilgisi olanlar varsa benide bilgilendirirse sevinirim. Son bir hatırlatma yapayım. Eğer dll dosyalarının bir tanesi bile debug klasörünün içinde olmassa bağlantı kurulamaz. Bu nedenle projenizi setup haline getirirken bu dll dosyalarını dahil etmeyi unutmayın. Şimdilik bu kadar. Kolay gelsin.
Veritabanını kod ile oluşturmak isteyenler için gerekli olan kod:
FbConnection.CreateDatabase("ServerType=1; User=SYSDBA; Password=; Dialect=3; Database=veritabanı.fdb");
Not: Ekte 32 bit ve 64 bit işlemciler için ayrı dosyalar mevcut. Kendi işlemcinize göre doğru olan dosyayı indiriniz.
32 bit işlemciler için buradan indirebilirsiniz.
64 bit işlemciler için buradan indirebilirsiniz.