ODBC (åpen database-tilkobling)
I 1992 ble Microsoft Corporation etablert som en integrert del av Windows Open Services Architecture (WOSA) angående databaser, som etablerte et sett med spesifikasjoner og tilbød et sett med standard API-er (Application Programming Interfaces) for databasetilgang. Disse API-ene utnytter SQL for å utføre de fleste av oppgavene sine. ODBC støtter også SQL-språket, og brukere kan sende SQL-setninger direkte til ODBC. --- tidlig, men ikke alltid allmektig. ODBC (Open DataBase Connectivity) er et applikasjonsprogrammeringsgrensesnitt (API) som Microsoft fremmer og for tiden er bredt akseptert i bransjen for databasetilgang, basert på X/Open og ISO/IEC call-level interface (CLI)-spesifikasjonene og bruker Structured Query Language (SQL) som sitt databasetilgangsspråk. ODBCs overordnede struktur har fire komponenter:
A. Applikasjon: Kjør prosessering og kall ODBC API-funksjoner for å sende SQL-setninger og hente resultater. B. Driver Manager: Last/avinstaller drivere etter applikasjonens behov, håndter ODBC-funksjonskall, eller overfør dem til driveren. C. Driver: Håndterer ODBC-funksjonskall, sender SQL-forespørsler til en spesifisert datakilde, og returnerer resultatene til applikasjonen. Om nødvendig modifiserer driveren programforespørselen for å tilpasse forespørselen til syntaksen støttet av den relevante DBMS-en. D. Datakilde: inkluderer dataene som skal aksesseres av brukeren og dets tilhørende operativsystem, DBMS, samt nettverksplattformen som brukes for å få tilgang til DBMS.
DAO (Data Access Object)
I 1993 introduserte Microsoft Microsoft Jet databasemotor (opprinnelig brukt for Microsoft Access og støtter nå andre databaser) og lar utviklere koble seg direkte til Access-tabeller slik de gjør med andre databaser via ODBC. DAO-er egner seg best for enkeltsystemapplikasjoner eller små, lokalt distribuerte bruk. Tilgangen til Jet-databasen er optimalisert internt og er enkel å bruke. Derfor, hvis databasen er en Access-database og brukes lokalt, anbefales det å bruke denne tilgangsmetoden --- applikasjonens spesifisitet
RDO (Remote Data Objects)
I 1995 var RDO et objektorientert dataaksessgrensesnitt til ODBC som ble kombinert med en brukervennlig DAO-stil for å tilby et grensesnitt som viste alle ODBCs underliggende funksjoner og fleksibilitet. Selv om RDO er begrenset når det gjelder god tilgang til Jet- eller ISAM-databaser, kan den kun få tilgang til relasjonsdatabaser gjennom eksisterende ODBC-drivere. Likevel har RDO vist seg å være det beste grensesnittet for mange utviklere av SQL Server, Oracle og andre store relasjonsdatabaser. RDO tilbyr stadig mer komplekse objekter, egenskaper og metoder for tilgang til lagrede prosedyrer og komplekse resultatsett. --- er utvilsomt basert på ODBC
OLE DB (Objektlenking og innbygging, database)
I 1997 lanserte Microsoft et strategisk systemnivå-programmeringsgrensesnitt for å administrere data på tvers av organisasjonen. OLE DB er en åpen spesifikasjon bygget oppå ODBC-funksjonalitet. ODBC er utviklet spesielt for tilgang til relasjonsdatabaser, mens OLE DB brukes til å få tilgang til relasjonelle og ikke-relasjonelle informasjonskilder som verts-ISAM/VSAM og hierarkiske databaser, e-post- og filsystemlagring, tekst-, graf- og geografiske data, samt tilpassede forretningsobjekter. OLE DB definerer et sett med COM-grensesnitt som kapsler inn ulike databasestyringssystemtjenester og tillater opprettelse av programvarekomponenter for å implementere disse tjenestene. OLE DB-komponenter inkluderer dataleverandører (som inneholder og representerer data), databrukere (som bruker data), og tjenestekomponenter (som behandler og leverer data, som spørringsprosessorer og markørmotorer). OLE DB-grensesnittet legger til rette for smidig integrasjon av komponenter, noe som gjør det mulig for OLE DB-leverandører raskt å levere høykvalitets OLE DB-komponenter til markedet. I tillegg inkluderer OLE DB en "bro" for å koble ODBC, som gir konsistent støtte for de ulike ODBC-relasjonsdatabasedriverne som er i bruk. --- hevder å erstatte ODBC, men den er også kompatibel med ODBC
ADO (ActiveX Data Object)
I 1996 var ADO etterfølgeren til DAO/RDO. ADO 2.0 er mer funksjonelt lik RDO og har generelt et lignende kartleggingsforhold mellom de to modellene. ADO "utvider" objektmodellen som brukes av DAO-er og RDO-er, noe som betyr at den inneholder færre objekter, flere egenskaper, metoder (og parametere) og hendelser. Som den nyeste databasetilgangsmodusen er ADO også enkelt og lett å bruke, så Microsoft har gjort det klart at de vil fokusere på ADO i fremtiden og ikke vil oppgradere DAO/RDO, så ADO har blitt hovedstrømmen i dagens databaseutvikling. ADO involverer tre typer datalagring: DSN (Data Source Name), ODBC (Open Data Connection) og OLE DB. Følgende rutiner vil forklare i detalj den spesifikke implementeringen av disse tre metodene. --- kan sies å være konvergensen mellom systemnivå-programmeringsgrensesnitt som ODBC og OLEDB, og oppgraderingen av applikasjonsnivå-programmeringsgrensesnitt som DAO og RDO.
ADO.NET
er en standardbasert programmeringsmodell som kan brukes til å lage distribuerte applikasjoner for datadeling. I ADO.NET spiller DataSets en viktig rolle, og fungerer som kopier i minnet av noe av dataene i databasen. I motsetning til RecordSets i ADO, kan DataSets inkludere hvilken som helst datatabell, hvor hver enkelt kan brukes til å representere data fra en databasetabell eller visning. Datasettet ligger i minnet og er ikke koblet til den opprinnelige databasen, det vil si at det ikke trenger å forbli koblet til den opprinnelige databasen. Den underliggende teknologien som gjør jobben er XML, som er lagrings- og overføringsformatet som brukes av DataSets. Under kjøring må data i et DataSet utveksles mellom komponenter, som et forretningslogikkobjekt eller asp.net webskjema. Data overføres fra én komponent til en annen i form av en XML-fil, som gjenoppretter filen til DataSet-skjema. DataSet-tilnærmingen er nøyaktig den samme som den relasjonelle datamodellen, fordi protokollene til hver datakilde er forskjellige, og vi må få tilgang til datakilden gjennom riktig protokoll. Noen eldre datakilder bruker ODBC-protokollen, og noen senere datakilder bruker OleDb-protokollen, og nå dukker det fortsatt opp mange nye datakilder, ADO.NET gir en felles måte å få tilgang til datakilder på, og for ulike datakilder brukes ulike biblioteker. Disse bibliotekene kalles Data Providers og er vanligvis oppkalt etter typen datakilde og protokollen
Forskjeller og forbindelser mellom ODBC-, DAO-, ADO- og OLEDB-databaser
ODBC er en underliggende tilgangsteknologi, så ODBC API kan være en kundeapplikasjon som kan sette opp og kontrollere databasen nedenfra og opp, og utføre noen funksjoner som avansert databaseteknologi ikke kan utføre; Ulempen er imidlertid at ODBC kun kan brukes til relasjonsdatabaser, noe som gjør det vanskelig å få tilgang til objektdatabaser og andre ikke-relasjonelle databaser med ODBC. DAO-er gir en mekanisme for å opprette og manipulere databaser gjennom prosedyrekode. Den største egenskapen er at det er enkelt å operere med MICROSOFT JET-databaser, og det er et av de beste tekniske grensesnittene for drift av JET-databaser. Og det brukes ikke bare for å få tilgang til denne databasen, faktisk er det mulig å få tilgang til et bredt spekter av dataformater, fra tekstfiler til store bakgrunnsdatabaser, gjennom DAO-teknologi. ADO er et tilgangsgrensesnitt basert på OLE DB, som er en objektorientert OLE DB-teknologi som arver fordelene med OLE DB. Det er et høynivågrensesnitt for databasetilgang.
Forholdet mellom ADO og OLEDB
OLEDB er et underliggende grensesnitt for dataaksess. Det brukes av tredjepartsdrivere, forhandlere til å utvikle applikasjoner som leverer datakilder til ADO-teknologi, eller utviklere for C++ for å utvikle tilpassede databasekomponenter. OLE DB er et viktig systemnivå programmeringsgrensesnitt for tilgang til data, og det er den grunnleggende teknologien i ADO og datakilden for ADO.NET. ADO er et tilgangsgrensesnitt basert på OLE DB, som er en objektorientert OLE DB-teknologi som arver fordelene med OLE DB. Det er et høynivågrensesnitt for databasetilgang.
Det kan sies at ADO tilbyr høynivå applikasjons-API-funksjoner for OLEDB.
|