CATEGORII DOCUMENTE |
Avantaje oferite de ODBC
Multi programatori cunosc la perfectie o diversitate de diverse instrumente, in special din mediile de programare mai raspandite, cum ar fi, de exemplu Visual Basic, Delphi si PowerBuilder.Aceste instrumente sunt nemaipomenite pentru executarea interogarilor si pentru actualizarea datelor dintr-o baza de date.Din pacate, cursoarele, triggerele si procedurile stocate sunt elemente noi in programarea bazelor de date si au un grad de standardizare redus intre produse.Oricum bazele teoretice de utilizare raman aceleasi indiferent de sistemul de gestiune a bazelor de date.
Dupa cum am mentionat, SQl se ocupa de partea de gestiune a bazelor de date iar Delphi de cea a interfetei.Legatura dintre cele doua este realizata de ODBC(Open Database Conectivity-Capacitatea de conectare a bazelor de date deschise).ODBC reprezinta una dintre tehnologiile fundamentale in sistemul de operare Windows.Aceasta tehnica permite alicatiilor sub Windows sa acceseze o baza de date prin intermediul unui program driver.Are avantajul ca in loc sa scriem noi o interfata personalizata cu fiecare baza de date ne putem conecta la baza de date printr-un program driver.Seamana foarte mult cu conceptul de program driver pentru imprimanta din Windows, pentru care scrieti programele fara a ne interesa tipul de imprimanta .Diferentele particulare, pe care in programarea DOS trebuie sa le particularizati pentru fiecare imprimanta in parte, sunt manipulate de programul driver pentru imprimanta.Rezultatul final este ca dispunem de timp programarea proceselor specifice programului nostru si nu vom scrie programe pentru fiecare imprimanta in parte.
ODBC preia acelasi acelasi concept si il aplica bazelor de date.Partea vizuala a ODBC se afla in programul Control Panel pentru sistemele Windows 95,WinNt.
ODBC ofera abstractizari care simplifica lucrul cu bazele de date , fiind complete cu viteza flexibilitatea limbajului Delphi.ODBC permite sa scriem aplicatii independente de orice sistem particular de gestiune a bazelor de date (DBMS).
ODBC este o interfata API pentru bazele de date relationale , care foloseste limbajul de date structurat (Structured Query Language -SQL) pentru indeplinirea unui numar mare de sarcini .O aplicatie care foloseste ODBC se conecteaza la o baza de date prin intermediul unui driver scris special pentru accesul la baza de date respectiva.
ODBC este o parte componenta a arhitecturii pentru sistemele deschise Windows(Windows Open Service Architecture -WOSA) .WOSA este modalitatea aleasa de firma Microsoft pentru furnizarea unui set unificat de servicii pentru sistemele de dimensiuni foarte mari.
ODBC furnizeaza o serie de avantaje fata de alte interfete API pentru bazele de date . Puteti sa folositi ODBC pentru accesul la orice baza de date care contine un driver ODBC .De asemenea ODBC se bazeaza pe limbajul SQL, furnizand o interfata sofisticata si uniforma pentru seturile de date diferite, de la fisiere test in care rubricile sunt separate prin virgula si pana la sisteme de gestiune a bazelor de date (DBMS) multidimensionale ierarhice.
Cele mai cunoscute baze de date accepta drivere ODBC .Multe dintre noile proiecte client-server necesita folosirea unei interfete Windows ,iar producatorii de sisteme DBMS vor sa castige o parte din aceasta piata .Daca un producator DBMS nu manifesta interes pentru dezvoltarea unui anumit driver , de cele mai multe ori ,segmentul de piata respectiv este ocupat imediat de un alt producator .Foarte rar veti fi nevoiti sa eliminati ODBC dintr-un program din cauza lipsei driverului specific.
Clasele pentru baze de date din biblioteca Delphi se bazeaza si ele ,pe ODBC .Aceasta este un avantaj major al programatorilor care folosesc limbajul Borland Delphi .
ODBC include urmatoarele componente:
Aplicatia utilizatorului
Administratorul ODBC
Gestionarul de driver
Aplicatia de instalare (ODBC Setup)
Drivere ODBC
Surse de date ODBC
Pentru scrierea efectiva a unor aplicatii cu ajutorul ODBC, trebuie sa cunoasteti toate aceste componente.
Aplicatia.
Bazele de date referite cu ajutorul ODBC trebuie introduse in DBE(Database Engine).Acest lucru va permite accesarea lor din orice forma a aplicatiei.
Administratorul ODBC(ODBC Administrator).
ODBC Administrator este o subaplicatie din Control Panel ,esentiala pentru folosirea ODBC .Aceasta manevreaza driverele instalate si va ajuta la administrarea surselor de date .De asemenea ,furnizeaza accesul la procedurile de urmarie a apelul functiilor ODBC
Drivere ODBC .
Driverele ODBC sunt fisiere DLL care furnizeaza interfata catre aplicatia dumneavoastra si datele dintr-o anumita baza de date. Aceste fisiere sunt asemanatore cu bibliotecile de baze de date pe care ,probabil le-ati mai intalnit .Totusi , ODBC si aceste biblioteci prezinta o diferenta semnificativa : ODBC furnizeaza o interfata aproape uniforma pentru toate bazele de date acceptate de un driver.
Driverele difera foarte mult ,atat din punctul de vedere al posibilitatilor cat si a modului de operare .Standardul ODBC clasifica driverele dupa urmatoarele trei criterii:
-Conformitatea cu interfata API
-Conformitatea cu gramatica SQL
-Tipul driverului
Clasele ODBC.
Clasele ODBC pot fi instantiate direct pentru a obtine accesul la sursele de date ODBC:
-CDatabase reprezinta conexiunea la sursa de date ODBC
-CRecordSet pastreaza rezultatele unei interogari ca un set de inregistrari individuale
CRecordWiew reprezinta interfata dintre utilizator si datele ODBC; furnizeaza o clasa derivata din CWiew pentru afisarea rezultatelor din baza de date.
Clasa CDatabase .
Clasa CDatabase reprezinta conexiunea cu sursa de date ODBC.Aceasta clasa contine metode pentru deschiderea , inchiderea si configurarea conexiunii .CDatabase va permite sa executati si instructiuni SQL care nu returneaza un set de rezultate. De asemenea , puteti sa folositi aceasta clasa pentru a controla cand si daca sunt executate instructiuni SQL asupra conexiunii.
Pentru multe aplicatii conexiunea se face o singura data .Conexiunea este deschisa la lansarea aplicatiei si este inchisa la iesirea din aplicatie .Puteti urma acest model de lucru , deoarece unele drivere au nevoie de cateva secunde ca sa raspunda .Pastrarea conexiunii are totusi cateva dezavantaje.
In cazul surselor de date client-server adevarate ,traficul din retea si alte intarzieri inevitabile pot sa incetineasca raspunsul la o conectare sau la o interogare .Este posibil chiar ca o tranzactie sa nu parcurga intreg drumul de la server (sau invers). Pentru a evita blocarea aplicatiei in cazul in care apar astfel de esuari ale operatiilor, trebuie sa stabiliti durate corespunzatoare de asteptare .Aceste perioade pot fi stabilite cu ajutorul urmatoarelor metode:
SetLoginTimeout() stabileste nivelul de timp in care se asteapta terminarea unei operatii de conectare inaintea returnarii unui semnal de eroare
SeqQueryTimeout() stabileste intervalul de timp in care se asteapta
Terminarea unei operatii de interogare inaintea unui semnal de eroare
Este posibil ca aplicatia dumneavoastra sa execute o serie de instructiuni care trebuie sa se termine toate cu succes pentru a fi valide .Daca va aflati intr-o astfel de situatie ,de tip "totul sau nimic" ,ar fi bine sa incercati tranzactiile .Folosirea tranzactiilor trebuie sa fie asigurata de sistemul DBMS ,metodele pe care puteti sa le folositi pentru lucrul cu tranzactii:
CanTranzact() determina daca sistemul DBMS asigura aceasta posibilitate .
BeginTrans() este apelata la inceputul unei operatii critice
CommitTrans() este apelata daca instructiunile tranzactiei se termina cu succes. Baza de date va reflecta modificarile facute de instructiunile executate
RollBack() este apelata daca oricare dintre instructiunile tranzactiei esueaza.Aplicatia nu va efectua modificarile care reflecta instructiunile executate de la ultimul apel al metodei BeginTrans().Aplicatia se comporta ca si cum nici una din instructiunile tranzactiei nu ar fi fost executata.
Clasa CDatabase mai are si alte cateva metode .Daca vreuna dintre posibilitatile ODBC de care aveti nevoie lipseste ,puteti sa folositi apelurile
API la procedurile de manevra (handle) ale conexiunii cu baza de date .Clasa contine o data membru publica numita m_hdbc ,pe care puteti sa o folositi pentru apelurile functiilor API ODBC.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1135
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved