Ole db sau odbc te pripi

OLE DB și ODBC sunt API-uri care oferă acces la o varietate de surse de date. Microsoft a proiectat ODBC accesul la date SQL, și OLE DB - pentru accesul la orice date într-un mediu COM.

Ce este rău ODBC?

Punerea în aplicare a OLE DB nu constituie o renunțare la ODBC. În viitorul apropiat, Microsoft intenționează să sprijine ODBC precum și a face alți producători de baze de date și instrumente. Deci, ceea ce nu se potrivește dezvoltatorii ODBC? Pentru a accesa datele, este destul de adecvat. Experiența demonstrează că, în cazul în care ODBC satisface nevoile afacerii dvs., un OLE DB și tehnologiile conexe ne putem uita.

Cu toate acestea, ODBC a devenit un bine dezvoltat, exprima pe deplin tine tehnologie, iar Microsoft va continua să-l îmbunătățească. ODBC este trenuri similare în depozit, care este doar câteva stații rămase. La orice oprire vă puteți transfera la un alt tren, OLE DB, și toată lumea decide că este mai bine să facă.

Astfel, ODBC se descurcă cu responsabilitățile sale. Ei bine cunoscut pentru performanțele sale, flexibilitate și arhitectură. Există mai multe instrumente diferite și medii de lucru, construite în ODBC (de exemplu, RDO). Pentru a înțelege cât de repede ar trebui să ia în considerare trecerea la OLE DB, analizează măsura în care capacitățile ODBC corespund îmbunătățirile care sunt planificate pentru a implementa în sistemul de informații. Trebuie amintit că, în următorii cinci ani, ODBC va oferi aceleași caracteristici ca și astăzi. ODBC va continua să ofere acces la date SQL care nu este integrat cu alte tipuri de date, non-relaționale, cum ar fi XML-fișiere, documente Microsoft Office și fișiere de e-mail. În cazul în care acest tip de fișiere fac parte din resursele informaționale ale companiei, ar trebui să ia în considerare posibilitatea de a OLE DB.

Ce este nou ofera OLE DB

OLE DB reprezintă următoarea etapă de ODBC. Aceste mijloace constituie strat software relativ independent utilizând același set de bază de interfețe program de aplicație (API) pentru accesarea diferitelor baze de date. Funcționarea lor este asigurată invizibil pentru utilizator module software care să ia în considerare caracteristicile specifice ale fiecărei baze de date și să acționeze ca un driver software pentru straturile superioare. OLE DB pus în aplicare pe deplin principiul comunicării deschise între bazele de date. Cele mai mari diferențe sunt în utilizarea unor termeni-cheie și în contextul din jur. Tabelul 1 conține interpretarea termenilor utilizați în mod frecvent aplicate ODBC și OLE DB.

Tabelul 1. Interpretarea termenilor de bază în ODBC și OLE DB.

declarație SQL, interpretat de către baza de date conectat

Un șir de text care înțelege sursa de date.

În ceea ce privește funcționalitatea OLE DB oferă acces la toate tipurile de informații: relaționale și non-relaționale, ierarhice și plate, fixe și variabile orientate spre SQL sau orice altă limbă de interogare. Pentru a facilita accesul la informație, sursele de date OLE DB sunt reprezentate componente bazate pe COM, cu o interfață de programare bine definită. Aceste componente, furnizorii de date numite interacționează cu magazia de informații. La conectarea la o aplicație client furnizor de date întotdeauna primește ca răspuns un set de înregistrări, indiferent de ce se transformă furnizor de date - la un tabel de bază de date relațională sau o listare director. Furnizorul este responsabil pentru preluarea datelor din mass-media fizice și formatarea acestora. Datele pot fi stocate într-una și aceeași locație fixă ​​(pe disc sau într-un fișier bază de date), într-o anumită zonă de memorie sau chiar pe diferite mașini și platforme diferite. Ele pot fi relațională și ierarhic, structurat și plat înregistrate într-un format standard și în privat, accesibile și inaccesibile pentru ODBC.

OLE DB Revenire set de rezultate (numit un set de rânduri sau înregistrări) nu este pur și simplu un flux de octeți scrise în memoria cererii clientului, la fel ca în cazul ODBC. Acest flux de date este conținută într-o unitate independentă cu propria interfață de programare COM. Acest modul oferă o varietate de moduri de a manipula un set de înregistrări - sortare, filtrare, defilare de text. Cu toate acestea, el admite posibilitatea de a lucra simultan cu datele de mai mulți utilizatori. Pentru a lucra cu un set de linii poate fi chiar și atunci când este deconectat de la sursa de date originale, făcându-l cel mai puternic acest nou tip de date pentru a fi foarte eficient.

Bariere în calea OLE DB

Este într-adevăr bine DB OLE? Pentru a răspunde la această întrebare ar trebui să ia în considerare cu atenție două aspecte. Pe de o parte, OLE DB nu poate fi considerată tehnologie destul de matur. Pe de altă parte - Microsoft îl poziționează ca un serviciu de bază de acces la date pentru viitoarele platforme Windows. Acest lucru înseamnă că Microsoft intenționează să modifice în mod substanțial OLE DB. Să considerăm aceste două aspecte mai în detaliu, pentru a încerca să prezică ce impact vor avea asupra utilizatorilor.

Figura 1 prezintă arhitectura pentru comparație OLE DB și ODBC.

Ole db sau odbc te pripi

FIGURA 1. Arhitectura ODBC și OLE DB.

Ambele se bazează pe componenta de specialitate (în cazul drivere ODBC și furnizori OLE DB în arhitectură), care sunt conectate la sursa de date. Ca parte a driverului ODBC este, de obicei, acționează ca intermediar autorizat care transmite un motor de baze de date SQL și se întoarce din setul de rezultate. Furnizorul OLE DB primește cereri în orice cerere de limbă (nu neapărat SQL) și returnează un set de înregistrări. Furnizorul care incapsuleaza baza de date este limitată la un simplu SQL comenzi la transmiterea în aval la serverul de baze de date. Furnizor care interacționează cu sursa non-relaționale de date (de exemplu, e-mail-uri), o funcție suplimentară: creează un set de intrări și umple-l cu informații. Un astfel de furnizor ar lucra cu un simplu limbaj de interogare decât SQL. Să presupunem că, pentru mesajele de poștă electronică de retur de la client la furnizor trebuie să cunoască doar numele expeditorului. tipul de echipa

simplu, eficient și ușor de codificat.

OLE DB este format din două părți: un capăt frontal și un miez interior. Core rulează în fundal, procesează cereri și căutări de date. O parte din OLE DB, este responsabil pentru interfața externă, aceasta include software-ul necesar pentru orice furnizor de interacțiune cu clienții. Microsoft poate stabili numai standardul pentru dezvoltarea OLE DB, în ceea ce privește funcționalitatea și tehnologia. În acest scop, sunt definite de specificațiile de interfață COM, pe care furnizorul trebuie să mențină. OLE DB 2.5 prezinta un progres considerabil în comparație cu versiunile anterioare: ea a ridicat unele restricții de proiectare și am adăugat noi caracteristici. De exemplu, OLE DB 2.5 face posibil să se întoarcă seturi neregulate, nu tabulare de înregistrări. OLE DB poate fi folosit pentru a afișa o serie de date semi-structurate ierarhic, cum ar fi fluxuri XML, documente Word și Excel, conținutul directoare ale sistemului de fișiere. În plus, noua versiune reduce cantitatea de informații cu privire la furnizori care au nevoie să cunoască consumatorul. În schimb specificații complexe siruri de comandă și șiruri de conectare la contactul dorit set de înregistrări pot adresa URL de sintaxă. Această proprietate este numită directă URL-link, vă permite să scrie un șir de conexiune:

Aceste intrări sunt intuitive furnizor de date numele outlookprovider, și furnizorul de text de prescriere de comandă pentru a scana folderul inbox-ul și pentru a găsi toate mesajele trimise de către abonat Joe utilizator. Cea mai recentă versiune a instrumentele de dezvoltare pe platforma Microsoft, SDK (Software Development Kit), repetă parțial atinge OLE DB 2.5.

Deoarece dezvoltatorii Microsoft considera OLE DB ca tehnologia de bază de acces la date într-un mediu Windows, utilizatorii în viitorul apropiat va primi tot sprijinul necesar pentru utilizarea OLE DB. Furnizorii de produse Microsoft critice în serverele de baze de date de clasă, SQL Server, reflectă imediat în ea toate inovațiile OLE DB. Dacă aceste inovații vor accepta producătorii de alte baze de date? În opinia mea, OLE DB dezavantaj este că doar un sprijin de încredere sunt producători de versiuni SQL Server 6.5 și 7.0. Este cunoscut faptul că producătorii de OLE DB Provider pentru Jet, și Oracle a lansat produse incomplete funcțional în care sunt detectate erori, astfel încât dezvoltatorii sunt puțin probabil să fie utile. OLE DB pentru versiunea Oracle de producție Microsoft este, de asemenea, nu uimitor, dar încă pare a fi cea mai acceptabilă. Versiunea OLE DB 2.1 oferă acces la date din mai multe medii software, dar este încă problematică. Pentru ca tehnologia OLE DB a devenit un standard pe care toți producătorii de baze de date și, eventual, societăți independente trebuie să elibereze versiuni complete ale furnizorilor pentru diferite SGBD. Este posibil ca aceasta va lua pentru a îmbunătăți aceste componente împreună.

În general, OLE DB nu a fost încă pentru a obține recunoaștere și de a obține o reputație ca un mijloc sigur de t. E. Pentru a repeta calea ultimii doi ani, ODBC. OLE DB, dar are potențialul de a depăși ODBC Diversitate sprijinit surse de date, flexibilitatea și ușurința de interfețe de programare. Mai mult decât atât aplicații, rolul central al arhitecturii OLE DB care rulează Windows distribuite pentru Internet, ADN-ul (distribuite aplicații de Internet), precum și în arhitectura DNS face ca aceasta tehnologie un candidat viabil pentru locul ODBC. În toate probabilitățile, OLE DB va fi o componentă importantă în planificarea viitoarelor strategii de acces la date. Dar nu ar trebui să se aplice orbește.

Când a alege OLE DB

Dacă vă decide cu privire la OLE DB să fie astăzi, atunci ce factori ar trebui să acorde atenție? Microsoft a proiectat OLE DB în funcție de cerințele de performanță, dar în termeni de apel arhitectura OLE DB intersectează mai multe straturi de software decât o interogare SQL, care rulează direct din codul prin intermediul unui API în ODBC. Prin urmare, atunci când se utilizează procesul ODBC este un pic mai repede. Pentru a compensa această deficiență, dezvoltatorii ar trebui să ia în considerare următoarea posibilitate: OLE DB pentru a agrega și să integreze structural diferite tipuri de date și de a le utiliza în aplicații bazate pe web.

Trebuie amintit faptul că mutarea în OLE DB nu este atât de simplu. Această precauție este importantă chiar și pentru utilizatorii care folosesc deja modelul de obiect: RDO, sau Object Access date (DAO), sau chiar o versiune de ADO mai devreme decât 2.x. Acesta poate fi de tranziție deosebit de dificilă în cazul altor produse decât SQL Server de baze de date. Cheltuielile vor fi plătite înapoi în același timp, numai în cazul în care operațiunea propriu-zisă va începe cu avantajele integrării aplicațiilor și serviciilor de sistem furnizate de OLE DB. Dacă utilizatorii nu știu cum să realizeze avantajele de interogări eterogene care nu implică depozit de date și nu intenționează să se integreze non-relațională tipuri de date (documente, foi de calcul, e-mail), acestea riscă să piardă productivitatea! (Sau nu găsesc anumite îmbunătățiri după o actualizare de sistem.)

Eu de obicei sfătuiesc clienții mei pentru a comuta la OLE DB numai atunci când acest lucru se datorează nevoilor urgente ale afacerii (așa cum este descris mai sus). Același lucru se recomandă, și crearea de noi sisteme, ca și în procesul de proiectare le poate pune imediat toate oportunitățile oferite de OLE DB. Flexibilitate, integrare și coerență - calități importante ale OLE DB. În cazul în care acestea sunt necesare pentru mediul de afaceri al companiei, trecerea la OLE DB poate fi rentabilă.

Sistemele bazate pe Internet de, reprezintă o gamă largă de aplicații pentru OLE DB, deși calitatea slabă a serviciilor de unii furnizori discredita eforturi. Pentru a apela componente de la distanță prin HTTP pe Web, puteți utiliza serviciul de acces la distanță la datele, serviciile de date la distanță (RDS). Pentru a realiza această capacitate permite utilizarea ca o tehnologie cheie dezvoltată de componente de acces la date Microsoft, Microsoft Access Components (MDA), care includ OLE DB. În cele din urmă, pe partea de client a OLE DB pentru a asigura tratamentul recordsets deconectate.

În OLE DB există forte și punctele slabe; această tehnologie nu este acolo de magie. Acesta trece de stadiul de perfecțiune, pentru a deveni în cele din urmă un standard recunoscut. Faceți cunoștință cu ea stă acum, și să aplice - numai atunci când sunteți gata să învețe din acest beneficiu special.