Ağ ortamında kayıtta sorun
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Ağ ortamında kayıtta sorun
Merhaba Paradox veri tabanına ağ üzerinden kayıt yaptırmak isttiyorum ama bir sorunum var forumdaki BDE ayarları ile ilgili makaleyi okudum program çalışyor yalnız iki bilgisayardada program açık olduğunda veri tabanını yalnız birisi kullanabiliyor yani öteki kayıt girdiğinde kayıt giriyormuş gibi gözüküyo ama database'e yazmıyor ağ ortamında veri tabanını nasıl çoklu kullanabilirim yada interbase tipi bişeyler mi kullanmam lazım bana yardımcı olursanız sevinirim. İyi çalışmalar
Merhaba
1. Kullandığın alias ın configuration sekmesinde netdır dizinine veri tabanının yolunu göstermen gerekiyor.
2. Daha sonra system Init in içinde Local Share nin değerini true olarak değiştir.
Problemin Çözülecektir.
Ben sadece kayıt girmek ve görüntülemek için kullandığım bir program PARADOX kullanıyorum. Yani kayıtlar üzerinde fazla değişiklik yapılmıyor.
20 makina kesinlikle problem çıkarmadan çalışıyor. Ama sürekli kayıt güncellemesi ve değişikliği yapılan bir programsa veri tabanını değiştirmeni tavsiye ederim.
Kolay gelsin...
1. Kullandığın alias ın configuration sekmesinde netdır dizinine veri tabanının yolunu göstermen gerekiyor.
2. Daha sonra system Init in içinde Local Share nin değerini true olarak değiştir.
Problemin Çözülecektir.
Ben sadece kayıt girmek ve görüntülemek için kullandığım bir program PARADOX kullanıyorum. Yani kayıtlar üzerinde fazla değişiklik yapılmıyor.
20 makina kesinlikle problem çıkarmadan çalışıyor. Ama sürekli kayıt güncellemesi ve değişikliği yapılan bir programsa veri tabanını değiştirmeni tavsiye ederim.
Kolay gelsin...
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Lütfen Yardım edil
Ben bu ağ kayıt problemi hala aşamıyorum söylediğiniz şeyleri uygulayarak halen daha kayıt giremiyorum ve aynı sorunum devam ediyor bana ayrıntılı olarak birisi anlatabilirmi ?
Merhaba,
Projenin DataModule (DM) unda Database, Tablo ve Query ler olduğunu varsayıyorum.
DM nin OnCreate inda
Bundan sonra her tablo için AfterPost event larını aşağıdaki şekilde yaz.
Tek birine yazıp diğerlerinin afterpost una aynısını atıyabilirsin.
Programı kurduğun makinada prog diye bir klasör açıp tam paylaşım ver ve prog exe ni ve tablolarını buraya at.
Daha sonra diğer makinalardan da bu exe ye kısayol yaparsın.
Hepsi bu kadar. Kolay gelsin.
Recep ŞİMŞEK
Projenin DataModule (DM) unda Database, Tablo ve Query ler olduğunu varsayıyorum.
DM nin OnCreate inda
Kod: Tümünü seç
procedure TDM.DMCreate(Sender: TObject);
var
Buf : array[0..256] of char;
AppDir: string;
begin
Screen.Cursor := crHourglass;
AppDir := ExtractFilePath(Application.ExeName);
Database1.Connected := False;
Database1.Params.Clear;
Database1.Params.Add('PATH=' + AppDir); // data klasörü programın (EXE nin) olduğu yer.
if Session.Active then
Session.Close;
Session.NetFileDir := AppDir; //ExtractFilePath(Application.ExeName);
GetTempPath(255, Buf);
Session.PrivateDir := Buf; // burada pdoxusrs.net dosyasını programın bulunduğu yer olarak gösteriyoruz
Session.Open;
try
Database1.Connected := True;
except
Uyari('Veritabanı açılamıyor');
Application.Terminate;
Halt;
end;
if not Table1.Active then
Table1.Open;
......
// diğer tablo ve sorgu işlemleri.
// bu arada Database, Table ve Query lerin Exlusive özelliklerini False yapıyorsun!
Screen.Cursor := crDefault;
end;
Bundan sonra her tablo için AfterPost event larını aşağıdaki şekilde yaz.
Tek birine yazıp diğerlerinin afterpost una aynısını atıyabilirsin.
Kod: Tümünü seç
procedure TDM.Table1AfterPost(DataSet: TDataSet);
begin
if DBISaveChanges((DataSet As TBDEDataSet).Handle) <> DBIERR_NONE then
Uyari('Güncelleme işlemi başarısız oldu..!'); // bilgiler tampon da kalmasın diye.
DataSet.Refresh;
end;
Daha sonra diğer makinalardan da bu exe ye kısayol yaparsın.
Hepsi bu kadar. Kolay gelsin.
Recep ŞİMŞEK
-
- Üye
- Mesajlar: 151
- Kayıt: 30 Oca 2004 09:16
- Konum: Manisa
Teşekkür
Hocam Verdiğiniz kodları yaptım ve artık 2 bilgisayar kayıt girebiliyor yardımlarınız için teşekkür ederim.
s.a.
rsimsek abi paradoxun ağ ortamında kullanılmasında yaptığın çözüm denemedim ama çok güzel ve değişik bir yöntem. teşekkür ederim. yalnız benim iki sorum var
1- biraz acemice ama dm ye table lerin session larını dm e ekleyeceğimiz session mı olacak ? (sizin belirttiğiniz Session)
2- tablelerin after post olayında ben Table1.Flushbuffers kullanıyorum. belleği boşaltmak için. böylelikler elektrik kesilsede veri kaybı olmuyor. bir çok yöntem denedim (sizinkide belkide vardır içinde) işe yaramadı. benim yöntemimde ağ tabanlıda sorun çıkarırmı?
rsimsek abi paradoxun ağ ortamında kullanılmasında yaptığın çözüm denemedim ama çok güzel ve değişik bir yöntem. teşekkür ederim. yalnız benim iki sorum var
1- biraz acemice ama dm ye table lerin session larını dm e ekleyeceğimiz session mı olacak ? (sizin belirttiğiniz Session)
2- tablelerin after post olayında ben Table1.Flushbuffers kullanıyorum. belleği boşaltmak için. böylelikler elektrik kesilsede veri kaybı olmuyor. bir çok yöntem denedim (sizinkide belkide vardır içinde) işe yaramadı. benim yöntemimde ağ tabanlıda sorun çıkarırmı?