Un script ASP ncepe s ruleze cnd un browser solicit un fiier .asp de pe serverul web. n acel moment serverul web apeleaz fiierul .asp, execut local toate comenzile acestuia pas cu pas i trimite paina !"#$ browser%ului client. Astfel nu poate aprea problema ca browser%ul client s nu tie interpreta instruc&iunile respective deoarece serverul special confiurat se ocup de ntreul proces Painile de server active pot fi folosite sub urmtoarele servere web' #icrosoft (nternet (nformation Server, versiunea ).* sub +indows ,". Server #icrosoft Peer +eb Services, versiunea ).* sub +indows ,". +or-station #icrosoft Personal +eb Server sub +indows ./0.1 Fig. 1.2.1 Modelul ASP Un fiier ASP este un fiier text care poate con&ine combina&ii de' text ta%uri !"#$ comenzi de tip script. Acestea specific computerului s fac o opera&ie, de pild s atribuie o valoare unei variabile. "ot o comand de acest tip specific server%ului web s trimit o variabil browser%ului. 2 astfel de opera&ie este realizat de o expresie de tip output. Un script mai poate combina comenzile n proceduri. 2 procedur este o secven& de comenzi i propozi&ii care are un nume i ac&ioneaz ca o unitate. 3xecu&ia script%ului implic trimiterea unei serii de comenzi unui motor de tip script care le va interpreta i retransmite computer%ului. Script%urile sunt scrise n limba4e care au Cerere HTTP RspunsHT TP reuli specifice, de aceea pentru posibilitatea rulrii lor trebuie folosit un interpretor care n&elee limba4ul folosit. ASP ofer suport de tip script pentru limba4ele 56Script i 7script. $imba4ul scripting primar, daca nu se specific este implicit 56Script. 8in punct de vedere al sintaxei, ASP nu este un limba4 de tip script, dar ofer un mediu de procesare a script%urilor incorporabil n fiierele !"#$. "a%urile !"#$ se diferen&iaz de text prin intermediul delimitatorilor. Un delimitator reprezinta un caracter sau o secven& de caractere care marc9eaz nceputul i sfritul unei unit&i. n cazul !"#$%ului, se folosesc pe post de delimitatori caracterele : i ; . Similar, ASP%ul folosete delimitatorii :< i <;. 8e exemplu comanda <%rubric=sport%> atribuie parametrului rubric valoarea=sport= >de tip text?. Pentru expresiile de tip output se folosesc delimitatorii :<= <;. Pentru exemplul de mai sus, expresia' <% =rubric%> trimite spre browser textul @sport=. Unul din marile avanta4e ale acestei te9noloii l constituie posibilitatea de acces la o baz de date ntr%un mod mult mai securizat, &innd cont c toate opera&iile au loc pe server. Astfel a fost necesar interarea unor instruc&iuni specializate n lucrul cu bazele de date. Avnd n vedere cererea pe pia& la scar mare a proramelor care s realizeze diferite sarcini cu aplicatibilitate preponderent n domeniul contabilit&ii, al comer&ului electronic, s%a ncercat realizarea unui suport ct mai bun pentru aceast am de aplica&ii n te9noloie ASP. Un desen reprezentativ al celor spuse pu&in mai sus ar arta n felul urmtor' A UserA B**C B UserB )/*C ) User) D**C Fig. 1.2.2 ASPul inter!edia" sc#i!$ul de in%or!a&ii dintre client si $a"a de date Eonsidernd benefic aceasta introducere n te9noloia ASP, se va trece mai departe la studiul teoretic al temei proiectului, anume latura ASP care se ocup cu accesul la o baz de date. #ai nti se vor explica principiile care stau la baza realizrii accesului, urmnd ca pe parcurs s se explice metoda optim aleas pentru realizarea leturii ntre aplica&ia ASP i baza de date. 1.' (a"e de date Avanta4ul utilizrii bazelor de date este binecunoscut utilizatorilor familiariza&i cu aplica&iile care necesit o stocare pe anumite criterii a informa&iei care va putea fi apoi accesat uor, n func&ie de criteriile dorite. Printre cele mai puternice editoare de baze de date se numr Microsoft Access si S!. Pentru nceput se va face o compara&ie ntre aceste dou medii urmFnd a se explica n detaliu modalitatea de acces prin intermediul unei paini ASP la o baz de date creat cu Microsoft Access "###. Co!para&ie )ntre Access *+,2--- .i S/0 Server +.-,2--- n aceast parte vor fi prezentate cFteva caracteristici enerale ale Access .D0B*** i SG$ Server D.*0B***, restric&iile acestora precum i compara&ia dintre aceste produse. Access 97/2000 Cerere HTTP RspunsHT TP (a" de date #icrosoft ofer o familie ntrea de unelte de tip baz de date n variant des-top, server, i pentru conectivitate desc9is. Pentru des-top #icrosoft ofer #icrosoft Access .D0B***. #icrosoft Access .D0B*** este un sistem foarte dotat n manaementul bazelor de date rela&ionale multi%utilizator destinat sistemelor de operare #icrosoft +indows >precum +indows.x, +indows ,", +indowsB***?. Access .D0B*** este vizual orientat i uor de folosit. 2 aplicatibilitate mare i sete n cadrul meniurilor drag$and$drop, n desinul vizual pentru c9estionare, form%uri i rapoarte. Access .D0B*** vine cu un mediu de dezvoltare interat >(83?, incluzFnd o compilare incremental, un debuer full interactiv vizual, puncte tip brea-, etc. Aceste capabilit&i se combin i fac din #icrosoft Access o platform puternic pentru dezvoltarea solu&iilor baz de date client%server. (at caracteristicile enerale ale Access .D0B***' 1$iectul Ma2i! de !ri!e,nu!ere #rimea bazei de date A Hb ,umrul de caractere ce denumesc un obiect IJ ,umrul de caractere ntr%o parol AJ ,umrul de caractere ce denumesc un utilizator sau un rup B* ,umbrul de utilizatori concuren&i B// ,umrul de caractere ce denumesc un tablou IJ ,umrul de caractere dintr%un cFmp IJ ,umrul de cFmpuri dintr%un tabel B// ,umrul de caractere dintr%un cFmp "ext B// ,umrul de caractere dintr%un cFmp #emo I/,/)/ 0 A Hb 8ei mrimea maxim a unei baze de date este de A Hb, baza de date poate include leturi spre tabele n alte fiiere, iar mrimea total este limitat doar de capacitatea memoriei disponibile. ,umrul de caractere ntr%un cFmp de date poate atine I/,/)/ caractere n momentul introducerii datelor prin intermediul interfa&ei utilizator sau poate atine A Hb cFnd datele sunt introduse proramat. Access B*** poate nc9ide nivelul rFnd n compara&ie cu Access .D. S/0 Server +.-,2--- Pentru un motor de tip server n solu&iile client%server #icrosoft ofer #icrosoft SG$ Server D.*0B***. ,u exist atFt de multe diferen&e n ar9itectura intern ntre SG$ Server D.* i SG$ Server B***. SG$ Server B*** ofer aceleai op&iuni ca i SG$ Server D.*' func&ii de auto%cretere, motor nou de stocare, capabilitatea de nc9idere la nivel de rFnd etc. 8eci, caracteristicile enerale ale acestor versiuni sunt identice. (at caracteristicile enerale ale SG$ Server .D0B***' 1$3ect Ma2i! de !ri!e,nu!ere #rimea 6atc9 I/,/)I K #rimea Pac9etului Le&ea 6Mtes per coloan de tip ir scurt 1,*** 6Mtes per text, ntext,sau coloan imaine B H6%B 6Mtes per index .** 6Mtes per c9eie strin .** 6Mtes per c9eie primar .** 6Mtes per linie 1,*I* 6Mtes n sursa text a unei proceduri stocate #rimea batc9 sau B/* #6 (ndex%uri cluster%ate per tabel A Eoloane per index AI Eoloane per c9eie strin AI Eoloane per c9eie primar AI Eoloane per tabel de baz A,*BJ Eoloane per S%!%&' statement J,*.I Eoloane per ()S%*' statement A,*BJ Eonexiuni per client 5aloarea maxim a conexiunilor confiurate #rimea bazei de date A,*J1,/AI "6 6aze de date per instan& a SG$ Server%ului )B,DID +ilegroups per baz de date B/I Niiere per baz de date )B,DID #rimea fiierului >date? )B "6 $unimea identificatorului >n caractere? AB1 !oc,s per conexiune #aximum de loc-s per server ,ivele de proceduri stocate )ested )B Normulare )ested )B ,ivele nested trier )B (ndex%uri noncluster%ate per table BJ. 2biecte n baza de date B,AJD,J1),IJDJ Parametrii per procedur stocat A,*BJ Leferin&e per tabel B/) Lnduri per tabel n limita spa&iului disponibil "abele per baz de date $imitat de numrul de obiecte dintr%o baz de date "abele per S%!%&' statement B/I "riers per table $imitat de numrul de obiecte dintr%o baz de date (ndex%uri per tabel tip -)(-% BJ. noncluster%at i A cluster%at SG$ Server B*** 3nterprise 3dition pe o platform +indows B*** 8ataEenter poate suporta pFn la )B de procesoare i adresa IJH6 de memorie fizic >LA#? pe un computerO