Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  multi-user...
 multi-user
 
 6/18/2010 1:44:32 AM
User is offlinegsl
24 posts


multi-user
 (N/A)

Salutare tuturor,

Am lucrat ceva aplicatii in VFP dar toate single-user. Vreau sa transpun o aplicatie in multi-user. M-ar interesa concepte de baza ... pentru a ma lamuri si a le implementa. In primul rand ca principiu ma intereseaza procedura de lucru pe 2 sisteme de calcul diferite in retea, adica am FOLDER DATE cu tabelele aplicatiei  pe un sistem de calcul, FOLDER DATE - trebuie sa-l am shared ? ,   cum pun aplicatia pe alt sistem de calcul in retea, fac o scurtatura la .EXE de pe calc. unde este instalata aplicatia, etc ... apoi folosind USE .... stiu ca e nelipsita clauza SHARED la sf. pt. deschidere tabele, etc, poate vi se par stupide intrebarile mele dar doresc sa ma lamuresc principial asupra implementarii unei aplicatii multi-user.

Va multumesc si astept explicatiile voastre.

 6/18/2010 8:24:03 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: multi-user
 (N/A)
Conceptele de baza le gasesti in help:
Contents / Microsoft Visual FoxPro / Using Visual FoxPro / Working With Data / Programming for Shared Access
sau aici, online:
http://msdn.microsoft.com/en-us/library/aa975658%28VS.71%29.aspx

Fiecare statie trebuie sa aiba drept de acces write pe folderul de date al aplicatiei. Daca statia pe care este baza de date foloseste modul de partajare simplu, e suficient sa faci folderul shared. Daca nu foloseste modul simplu de partajare, trebuie sa-i dai explicit permisiunea de scriere.
Modul de partajare se seteaza in folder options, view, si e ultima pozitie din lista de optiuni. Drepturile de acces, in Sharing and Security, din menu-ul contextula (click dreapta pe folder)

Un shortcut facut pe o statie la executabil te scuteste de problemele de tinere la editie a aplicatiei si de deschidere a tabelelor, care apar in cazul in care executabilul este distribuit pe fiecare statie.

Nu trebuie sa folosesti decat cai relative in aplicatie, intrucat folderul respectiv poate fi mapat la diferite litere de unitate, sau chiar deschis pe cale de retea (\\calculator\folder\executabil).

Daca la adaugarea de inregistrari ai lucrat cu APPEND BLANK, iar inregistrarea sta in editare cat timp utilizatorul introduce datele, mai devreme sau mai tarziu vei avea probleme de concurenta - ambele statii vor edita acceasi inregistrare. Ca sa eviti asta, aplica una din metodele indicate in help, in topicul mentionat mai sus.
Dintre cele 3 solutii prezentate in help pentru evitarea acestei situatii, lock-ul manual pe inregistrare e de evitat, daca nu l-a folosit pana acum - si nu aveai motive sa il folosesti. Celelalte doua - folosirea unor comenzi care fac lock automat sau buffering-ul -  necesita o cheie unica pentru fiecare inregistrare - cheia primara, care nu trebuie sa lipseasca din nicio tabela.

In rest, nu ar trebui sa ai probleme.

Daniel Buduru
 6/18/2010 8:56:14 AM
User is offlineOvidiu Dobie
105 posts
5th


Re: multi-user
 (N/A)
Si eu sunt foarte interesat de acest subiect...
Astept ca sa primim raspunsuri de la cei care au experienta in asa ceva...
Si eu sunt curios daca faza cu scurtatura la .exe e valabila ... Eu asa am folosit si a mers, dar cred ca e mai ok sa pui .exe-ul final pe fiecare statie in parte si sa folosesti SET DATABASE TO ... ca sa setezi baza de date pe care se va lucra...

Ovidiu Dobie
 6/18/2010 9:07:43 AM
User is offlineniculescu.adriana
31 posts


Re: multi-user
 (N/A)
Pentru modul de lucru in retea eu folosesc ca setari initiale SET EXCLUSIVE OFF si SET REPROCESS TO 10 pentru ca am o procedura de alocare numere in retea care foloseste FLOCK(). Tot la inceputul programului setez caile unde se afla tabelele cu SET PATH si in program nu am cai absolute pe niciunde. Apropo de executabil eu nu il pun partajat pe server ci pe fiecare statie de lucru si cu bibliotecile aferente ca sa ruleze FOXUL. Nu pun pe retea pentru ca uneori am table temporare si daca ruleaza de pe aceiasi locatie 2 useri apar conflicte.
 6/18/2010 9:12:26 AM
User is offlineniculescu.adriana
31 posts


Re: multi-user
 (N/A)
O alta caracteristica este faptul ca in environmentul formelor deschid tabelele pe care vreau sa le actualizez "optimistic buffering" si doar cand userul vrea sa salveze datele se face TABLEUPDATE. Am mers pe optimistic buffering pentru ca asa am vazut in exemplele Foxului si pentru ca am inceput deja sa am probleme de timp de acces cand sunt 10 useri in lucru ma intreb daca modul pesimist mi-ar fi oferit avantaje privind timpii de acces.
 6/18/2010 9:35:17 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: multi-user
 (N/A)
Pesimistic buffering blocheaza inregistrarea de la inceputul editarii pana la terminarea Tableupdate. Nu reduce timpii de acces, ci din contra. Inregistrarea este blocata de ia inceputul editarii pana la finalizarea tableupdate.
Mai degraba intarzierile vin de la procedurile care utilizeaza FLOCK.
Aici este un articol referitor la optimizarea performantelor in VFP:
http://www.dfpug.de/loseblattsammlung/migration/whitepapers/VFP_PER.htm

Daniel Buduru
 6/18/2010 4:21:12 PM
User is offlinegsl
24 posts


Re: multi-user
 (N/A)

Multumesc pentru informatiile oferite, nu ramane decat sa incep proiectarea si partea de soft pe urma. Multumesc Daniel, multumesc Adriana !
In cazul ca intampin dificultati o sa le pun in discutie.
Toate cele bune tuturor !
Gabi

  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  multi-user...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement