1

Konu: cok kullanicinin kullanacagi bir veritabani kullanan bir program

arkadaslar ben fox ile tek bir kisinin kullanabilecegi bir program gelistirdim. programimin veritabani data isimli bir klasor altinda. fakat eger ben bu programi agda bircok bilgisayara kurmak istesem ve datayi paylassinlar istesem acaba bu olaya nasil yaklasmaliyim.
okunabilecek birseyler bilen varsa soyleyebilirmi.
tesekkurler

2

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

ozgurbey78 ,öncelikle database i açarken SET EXCL OFF olmalı,Daha sonra Veritabanının nerede olduğunu tutabileceğin bir yapı olmalı(Veri tabanı yolu sabit olmamalı),terminal makinalar programı açarken, veritabanının nerde olduğunu okuyup oradan açmalılar.gerisini zaten foxpro hallediyor.Ancak program kodlarını yazarken,çok kullanıcı mantığını dikkate alıp ona göre yazmak gerekiyor.Örnek veriyorum,herhangi bir bilgiyi server olarak kullandığın makinanın diskinde free tabloya yazıp,bu tablo üzerinde indexleme yapıyorsan,yada o tabloya o anda başka bir bir kullanıcı bilgi eklerse,çok kullanıcılı ortamda hata verecektir yada yanlış çalışacaktır.Bunun gibi basit mantıklara dikkat edecek olursan,çok fazla problem çıkmayacaktır.

En büyük sermaye nakit,nakit sermaye vakittir...

3

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

hocam application un giris programina yani
programim_app.prg'nin basina SET EXCL OFF yazdim

ben database folderimin nerde oldugunu elimle yaziyorum suan

soyle oda

oApp.AddProperty('cAppDataPath', addbs(fullpath('data')))

burda data isimli benim databasemin oldugu folder. diyelimki benim butun terminallere ortak kullandiracagim veritabani ag ustunde biryerde
ben o veritabaninin windows path ini oldugu gibi yazsam olurmu diyorsun ustat

birde ben free table kullanmiyorum. tek bir veritabanim var. her terminal program bir kayiti acmaya calisirken eger baska bir terminal programda o kayit acili ise zaten foxpro otomatikmen engelliyor diyorsun sanirim.

tesekkurler

4

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

mesela veritabanı diyelimki MAINSERVER DE DATA klasöründe duruyorsa

VERITABANIPATH ="\\ MANINSERVER\DATA\" şeklinde olmalı. Aynı anda iki kişi bir kayıdı değiştiremez,benim mantığımda son değiştirenin bilgisi geçerli oluyor.Free table yi örnek olsun diye söylemiştim

En büyük sermaye nakit,nakit sermaye vakittir...

5 Son düzenleyen, ozgurbey78 (07.06.2008 14:16:40)

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

hocam bu MAINSERVER makinanin ismi oluyor sanirim
evet db tablolarinin kayitlarini ayni anda iki terminal programin acamamasi lazim. acarsa zaten mahf olur hersey

ben agdan baglanti kururken bir network adresi olusuyorya

mesela
f://klasor/klasor/klasor/data
burda f diger makinanin ismi oluyor
network kismindan hic anlamiyorum hocam sorun burda biraz

6

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

ozgurbey78 bu datayı çok kullanıcılı olarak kullanacaksan, bir makinada bir şekilde paylaşıma açman gerekecektir!Data klasörünü sağ tuş paylaşım yaptığında,kullanıcılar değiştirebilsin işaretlediğinde klasöre paylaşım vermiş olacaksın.İşte paylaşım verdiğin o klasör hangi makinada ise,"\\" dan sonra o makinanın ismi olacak mesela "\\BENIMSERVER\MUHASEBE\DATA

En büyük sermaye nakit,nakit sermaye vakittir...

7

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

eğer terminal makinalara virtual sürücü tanımlamışsan ozaman "f:\MUHASEBE\DATA\" olur ki bunu ben pek kullanmıyorum." f://klasor/klasor/klasor/data" şeklinde bir kullanım yanlış olur.orada f senin bilgisayarındaki f diski, yada virtual disk ise(ağ sürücüsüne bağlan ile oluşturulan sürücü) "\\" kullanmana gerek yok bilmem anlatabildim mi?(\\ ağ üzerindeki bir bilgisayarı ifade eder burada)

En büyük sermaye nakit,nakit sermaye vakittir...

8

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

anladim ustat
insallah birde yakin zamanda oturur test etme imkanim olur bir network icerisinde

coktesekkur ederim

9

Re: cok kullanicinin kullanacagi bir veritabani kullanan bir program

suan data folderimin yerini bir txt dosyasi icine yazdim ondan okuyorum suan localdeyim fakat en kisa zamanda bir network icerisinde data yi network icersiinde biryere koyup sonrapaylasima acip path ini alip txt dosyasina yazip calisip calismadigini kontrol edecegim
cok tsekkur ederim