|
Delphi: Veritabanı uygulamaları ve Network - Delphi / Kylix Webmaster bilgi bankası, knowledge base Webmaster Araçları
AnaSayfa > Delphi / Kylix > Delphi: Veritabanı uygulamaları ve Network |
| Kategori | : Delphi / Kylix | Gönderen | : Admin | Tarih | : 2008-10-19 | Puan | : 10 | Katılımcı : 3 | Okunma | : 7159 | | | |
| | Delphi
--------------------------------------------------------------------------------
Normalde paradox, dbase gibi veritabanları ilk geliştirildiklerinden itibaren
network üzerinden çalışması için planlanmışlardır. Buna rağmen eğer burada
anlatacaklarımız konusunda bilginiz yoksa, bu veritabanlarını Delphi ile
kullandığınızda programlarınızın network üzerinden çalışmıyor olması hiç de
şaşırtıcı olmaz. Bunun sebebi network üzerinden çalışırken, hangi kullanıcının o an
ne yaptığı, hangi kayıdı değiştirmekte olduğu gibi konularda network üzerinden
çalışan veritabanı uygulamaları arasında koordinasyonu sağlayan "netfile" dosyasının
konfigürasyonunu yapmamış olmanızdandır.
--------------------------------------------------------------------------------
Delphi veritabanı uygulamanızı çalıştırdığında bir tek veritabanınız olsa dahi
default olarak bir TSession ve TDatabase nesnesi oluşturur. TSession, veritabanının
o an kullandığı Database'lerin kontrolünden sorumludur. Bu database'ler bir BDE
Alias'ı, hard diskinizde bir dizin olabilir. TDatabase nesnesi işte bu dizin ve
aliasların kontrolünden sorumludur. Ama bizim burada kullanacağımız nesne TSession.
Default olarak oluşturulan TSession nesnesinin adı Session dır.
Başlangıç olarak programınızı network üzerinde bir yere kurduğunuzu düşünelim.
Bütün kullanıcılar herhangi bir makina üzerinden programın exe'si ni
çalıştırabilirler. Fakat eğer siz aksini belirtmezseniz daha önce bahsettiğimiz
network kontrol dosyası normalde C harddiskinin ana dizininde oluşturulur. Oysa
ki network üzerinde veritabanınızı kullanan bütün programların aynı dosyayı
kullanması gerekir. Bunun için programınızı kurduğunuz F:PROGRAM dizini altında
NETWORK adlı yeni bir dizin oluşturun ve programınızın ana formunun oncreate
olayı içerisinde aşağıdaki gibi network kontrol dosyasının yerini belirtin. Diğer
dizin ise kullanıcının harddiskinde geçici dosyalarını koymak için kullanacağı
private directory'dir. Bunun kullanıcın kendi harddiski içinde olması hem
performansı arttırır, hem de network üzerinde kullanıcılar arasında doğabilecek
karışıklığı önler.
procedure TformMain.FormCreate(Sender: TObject);
var
Buf : array[0..256] of char; { windows dizinini almak için }
T : TSearchRec;
begin
Session.NetFileDir := ExtractFilePath(Application.ExeName) +
'network';
GetTempPath(255, Buf); { windows'un template dizinini öğren }
Session.PrivateDir := Buf; { private dizin olarak onu belirle }
Session.Open; { session'umuzu ve ayarlarımızı aktif hale getir }
end;
Network konfigürasyonunun uygun biçimde ayarlanması
Eğer aynı makina üzerinde programınızın veya aynı veritabanını kullanan
programların aynı anda sorunsuz açılabilmesini istiyorsanız private dizinini
windows'un template dizini altında her program için ayrı ayrı oluşturacağınız ve
program bitiminde sileceğiniz dizinler olarak belirtmeniz yararlı olabilir.
|
Yorumlar | Henüz Kimse Yorum Yapmamış, ilk yorumu siz ekleyin! | Yorum Ekleme Aparatı | Yorum Eklemek için lütfen sol menuden giris yapınız.. | Toplam 0 yorum listelendi. |
|