Se še spomnite lepih spominov, ki so jih zaznamovale številne kratice in akronimi? Oklenite se teh lepih misli, saj boste v kratkem spoznali nekaj kratic in akronimov na temo zbirk podatkov. V nadaljevanju tega članka boste spoznali osnove za dostopanje do zbirke podatkov z nizi povezav in uporabili programski vmesnik zbirke podatkov v kodi Access VBA.
V tem članku
Uporaba gonilnika ODCB ali ponudnika OLE DB
Programsko povezovanje zbirke podatkov v strežniku SQL Server iz Accessa
Povzetek različic gonilnikov ODBC
Povzetek različic ponudnikov OLE DB
Uporaba gonilnika ODCB ali ponudnika OLE DB
Nize povezav poznamo že dolgo časa. Oblikovan niz povezave lahko določite v Accessovem uporabniškem vmesniku ali v kodi VBA. Niz povezave (ne glede na to, ali gre za arhitekturo ODBC oz. OLE DB) informacije podaja neposredno zbirki podatkov, na primer lokacijo strežnika, ime zbirke podatkov, vrsto varnosti in druge uporabe možnosti. Primer:
ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;
Sprva je bila na voljo samostojna knjižnica SQL Server Native Client (SNAC), ki je vključevala tehnologiji ODBC in OLEDB in je še vedno na voljo za različice strežnika SQL Server od 2005 do 2012. Številne starejše aplikacije so uporabljale knjižnico SNAC, ki ima še vedno zagotovljeno vzvratno združljivost, vendar priporočamo, da knjižnice ne uporabite za razvoj novih aplikacij. Uporabite raje novejše posamezne različice gonilnikov ODBC, ki jih lahko prenesete.
Gonilniki ODBC
ODBC (Open Database Connectivity) je protokol, s katerim lahko povežete Accessovo zbirko podatkov z zunanjim virom podatkov, kot je Microsoft SQL Server. Običajno niz povezave dodate z viri podatkovnih datotek (imenujemo jih tudi datoteke DSN). V tem primeru za niz povezave uporabite ključno besedo FILEDSN. Če pa je niz povezave shranjen v registru, boste uporabili ključno besedo DSN. Lahko pa uporabite tudi VBA, da nastavite te lastnosti z nizom povezave »DSN-less«.
V zadnjih letih so bili gonilniki ODBC odposlani v treh stopnjah:
-
Pred letom 2005 so bili gonilniki ODBC odposlani s komponentami Windows Data Access Components (WDAC), ki smo jih sprva imenovali Microsoft Data Access Components (MDAC). Te komponente še vedno vključujemo v sistem Windows zaradi vzvratne združljivosti. Več informacij o tem si lahko preberete v članku Microsoftove komponente za dostopanje do podatkov ali komponente za dostopanje do podatkov sistema Windows.
-
Gonilniki ODBC, dobavljeni s knjižnico SNAC za različice strežnika SQL Server od 2005 do 2012.
-
Po strežniku SQL Server 2012 so bili gonilniki ODBC odposlani posamično in vključujejo podporo za nove funkcije strežnika SQL Server.
Pri razvoju novih aplikacij ne uporabljajte gonilnikov ODBC iz prvih dveh stopenj, temveč uporabite gonilnike ODBC iz tretje stopnje.
Ponudniki OLE DB
OLE DB (Object Linking and Embeding, Database) je novejši protokol, s katerim lahko povežete Accessovo zbirko podatkov z zunanjim virom podatkov, kot je Microsoft SQL Server. OLE DB ne potrebuje datoteke DSN in prav tako zagotavlja poln dostop do virov podatkov ODBC in gonilnikov ODBC.
Namig Niz povezave za OLE DB običajno dodate v pogovornem oknu Lastnosti podatkovne povezave. Čeprav v Accessu ne morete odpreti pogovornega okna Lastnosti podatkovne povezave, lahko v Raziskovalcu ustvarite prazno datoteko .txt in vrsto datoteke spremenite na .udl ter dvokliknete datoteko. Ko ustvarite niz povezave, vrsto datoteke spremenite nazaj na .txt.
V zadnjih letih so bili gonilniki OLE DB odposlani v treh stopnjah:
-
Pred letom 2005 so bili gonilniki OLE DB odposlani s komponentami Windows Data Access Components (WDAC), ki smo jih sprva imenovali Microsoft Data Access Components (MDAC).
-
Gonilniki OLE DB, ki ste jih prejeli z različicami strežnikov SQL Server od 2005 do 2017. To stopnjo smo opustili leta 2011.
-
V letu 2017 smo znova uvedli podporo za ponudnika OLE DB v strežniku SQL Server.
Za razvoj novih aplikacij za SQL Server trenutno priporočamo različico gonilnika OLE DB 18.
Optimizacija učinkovitosti delovanja z nizom povezave ODBC
Če želite optimizirati učinkovitost delovanja, minimizirati omrežni promet in zmanjšati število uporabnikov, ki dostopajo do zbirke podatkov v strežniku SQL Server, uporabite čim manj nizov povezave tako, da jih daste v skupno rabo prek več naborov zapisov. Čeprav Ace le posreduje niz povezave do strežnika, razume in podpira naslednje ključne besede: DSN, DATABASE, UID, PWD in DRIVER, s katerimi lahko minimizirate komunikacijo med odjemalcem in strežnikom.
Opomba Če se prekine povezava ODBC z zunanjim virom podatkov, jo Access samodejno poskuša znova vzpostaviti. Če je bil vnovični poskus uspešen, lahko nadaljujete delo. V nasprotnem primeru lahko še vedno delate s predmeti, ki ne potrebujejo povezave. Če želite znova vzpostaviti povezavo, zaprite Access in ga nato znova odprite.
Priporočila, ko uporabljate ODBC in OLE DB
Ne mešajte tehnologiji nizov povezav in dostopanja do zbirke podatkov. Za predmete DAO uporabite niz povezave ODBC. Za predmete ADO uporabite niz povezave OLE DB. Če vaša aplikacija vsebuje kodo VBA, ki uporablja predmete DAO in ADO, uporabite gonilnik ODBC za predmete DAO in ponudnika OLE DB za predmete ADO. Potrudite se pridobiti najnovejše funkcije in podporo za ODBC in OLEDB.
ODBC uporablja izraz gonilnik, OLE DB pa izraz ponudnik. Izraza opisujeta isto vrsto komponente programske opreme, vendar nista medsebojna izmenljiva v povezavi s sintakso niza. Uporabite pravilno, dokumentirano vrednost.
Programsko povezovanje zbirke podatkov v strežniku SQL Server iz Accessa
V Accessu sta na voljo dva glavna načina za programsko povezovanje zbirke podatkov v strežniku SQL Server.
DAO
DAO (predmeti za dostopanje do podatkov) omogoča abstraktni vmesnik za zbirko podatkov. Microsoftovi predmeti DAO predstavljajo izvorni programski predmetni model, s katerim lahko dostopate do jedra Accessa in strežnika SQL Server ter ustvarjate, brišete, spreminjate in na seznam dodajate predmete, tabele, polja, indekse, relacije, poizvedbe, lastnosti ter zunanje zbirke podatkov.
Več informacij o tem si lahko preberete v članku Microsoftove komponente za dostopanje do podatkov.
ADO
ADO (podatkovni predmeti ActiveX) omogočajo programski model na visoki ravni, ki je na voljo v Accessu s sklicem na knjižnico neodvisnega ponudnika. Predmeti ADO so preprosti za uporabo in odjemalskim aplikacijam omogočajo dostop in spreminjanje podatkov iz številnih virov, vključno z Accessom in strežnikom SQL Server. Njihove glavne prednosti so preprosta uporaba, visoka hitrost in nizka poraba pomnilnika. Predmeti ADO prav tako podpirajo ključne funkcije za razvoj spletnih aplikacij.
Več informacij o tem si lahko preberete v člankih Sklic na Microsoftove podatkovne predmete ActiveX in Microsoftovi podatkovni predmeti ActiveX (ADO).
Katere predmete naj uporabim?
V Accessovi rešitvi, ki uporablja kodo VBA, lahko za tehnologijo vmesnika zbirke podatkov uporabite predmete DAO, ADO ali obe vrsti. Predmeti DAO so še naprej privzeta vrsta v Accessu. Vsi obrazci, poročila in Accessove poizvedbe na primer uporabljajo predmete DAO. Toda, ko vsebino preselite v strežnik SQL Server, razmislite o predmetih ADO, s katerimi bo vaša rešitev učinkovitejša. V nadaljevanju si lahko ogledate splošne smernice za pomoč pri odločanju, ali želite uporabiti predmete DAO oziroma ADO.
Uporabite predmete DAO, če želite:
-
Ustvariti povezan obrazec za branje/pisanje brez kode VBA.
-
Poslati poizvedbe za lokalne tabele.
-
Prenesti podatke v začasne tabele.
-
Uporabiti prepustne poizvedbe za podatkovne vire poročil ali obrazcev v načinu samo za branje.
-
V jeziku VBA določiti in uporabiti predmet »TableDef« ali »Querydef«.
Uporabite predmete ADO, če želite:
-
Izkoristiti dodatne načine za optimizacijo, na primer izvajanje asinhronih operacij.
-
Zagnati prepustne poizvedbe DDL in DML.
-
Pridobiti podatke strežnika SQL Server neposredno prek naborov zapisov v jeziku VBA.
-
Napisati enostavnejšo kodo za določena opravila, kot je pretakanje shrambe dvojiških podatkov.
-
Z ukaznim predmetom v jeziku VBA neposredno poklicati shranjeno proceduro s parametri.
Povzetek različic gonilnikov ODBC
V naslednji tabeli so povzete pomembne informacije o različicah gonilnikov ODBC, mestih za prenos in bodoči podpori. Prepričajte se, da uporabljate pravilno bitno različico (64- ali 32-bitno) gonilnika glede na Windows in ne Office. Če imate nameščen 32-bitni Access v 64-bitnem sistemu Windows, namestite 64-bitne gonilnike, ki vključujejo 32-bitne komponente, ki jih zahteva Access.
Če želite več informacij, preberite naslednje članke Uporaba ključnih besed za nize povezav z vmesnikom SQL Server Native Client, Opombe ob izdaji za ODBC za SQL Server v sistemu Windows (V17) in Funkcije gonilnika Microsoft ODBC Driver za SQL Server v sistemu Windows (V13, 11).
Povzetek različic ponudnikov OLE DB
V naslednji tabeli so povzete pomembne informacije o različicah gonilnikov OLE DB, mestih za prenos in bodoči podpori. Prepričajte se, da uporabljate pravilno bitno različico (64- ali 32-bitno) gonilnika glede na Windows in ne Office. Če imate nameščen 32-bitni Access v 64-bitnem sistemu Windows, namestite 64-bitne gonilnike, ki vključujejo 32-bitne komponente, ki jih zahteva Access.
Če želite več informacij, preberite članek Uporaba ključnih besed niza povezave z odjemalcem SQL Server Native Client.
Ponudnik OLE DB |
Različica |
Prenesi |
Nove funkcije |
Gonilnik OLE DB 18.2.1 (MSOLEDBSQL) |
SQL Server 2017 |
Gonilnik OLE DB za funkcijo strežnika SQL Server in Opombe k izdaji za Microsoft OLE DB Driver za SQL Server |
|
SQL Server Native Client (SQLNCLI) |
SQL Server 2005 do 2012 |
Zastarelo – ne uporabljajte |
|
Gonilnik OLE DB (SQLOLEDB) |
Zastarelo – ne uporabljajte |
Povzetek ključnih besed za ODBC
V spodnji tabeli so povzete ključne besede za ODBC, ki jih prepozna SQL Server in njihov namen. Access prepozna samo podnabor.
Ključna beseda |
Opis |
Addr |
Omrežni naslov strežnika, v katerem se izvaja primerek strežnika SQL Server. |
AnsiNPW |
Določa uporabo ANSI-določenih vedenj za upravljanje primerjav NULL, zapolnjevanje podatkovnih znakov, opozorila in spojitev NULL (vrednost »Yes« ali »No«). |
APP |
Ime aplikacije, ki pokliče SQLDriverConnect. |
ApplicationIntent |
Označi vrsto obremenitve aplikacije pri vzpostavljanju povezave s strežnikom (ReadOnly ali ReadWrite). |
AttachDBFileName |
Ime primarne datoteke v zbirki podatkov, ki jo je mogoče priložiti. |
AutoTranslate |
Določa, ali so nizi znakov ANSI poslani odjemalcu/strežniku ali prevedeni v Unicode (vrednost »Yes« ali »No«). |
Database |
Ime zbirke podatkov. Description Namen povezave. Driver Ime gonilnika, ki ga vrne SQLDrivers. |
DSN |
Ime obstoječega uporabnika ODBC ali sistemskega vira podatkov. Encrypt Določa, ali morajo biti podatki šifrirani, preden jih pošljete prek omrežja (vrednost »Yes« ali »No«). |
Failover_Partner |
Ime nadomestnega partnerskega strežnika, ki se uporabi, če ni mogoče vzpostaviti povezave s primarnim strežnikom. |
FailoverPartnerSPN |
SPN za nadomestnega partnerja. |
Fallback |
Zastarana ključna beseda. |
FileDSN |
Ime obstoječega vira podatkovne datoteke ODBC. Language Jezik strežnika SQL Server. |
MARS_Connection |
Določa več aktivnih naborov rezultatov (MARS) v povezavi za SQL Server 2005 (9.x) ali novejšo različico (vrednost »Yes« ali »No«). |
MultiSubnetFailover |
Določa, ali se vzpostavi povezava s poslušalcem skupine razpoložljivosti v strežniku SQL Server ali primerkom nadomestne gruče (vrednost »Yes« ali »No«). |
Net |
dbnmpntw označuje poimenovane cevi, dbmssocn pa protokol TCP/IP. |
PWD |
Geslo za prijavo v strežnik SQL Server. |
QueryLog_On |
Določa pisanje dnevnikov za dolgotrajne poizvedbe (vrednost »Yes« ali »No«). |
QueryLogFile |
Celotna pot in ime datoteke za datoteko, v katero se shranjujejo podatki dnevnika za dolgotrajne poizvedbe. |
QueryLogTime |
Niz števk, ki določa prag (v milisekundah) za pisanje dolgotrajnih poizvedb v dnevnike. |
QuotedId |
Določa, ali SQL Server uporablja pravila ISO glede uporabe narekovajev v izjavah SQL (vrednost »Yes« ali »No«). |
Regional |
Določa, ali gonilnik ODBC za SQL Server Native Client uporablja nastavitve odjemalca pri pretvarjanju podatkov valute, datuma ali časa v znakovne podatke (vrednost »Yes« ali »No«). |
SaveFile |
Ime izvorne podatkovne datoteke ODBC, v kateri so shranjeni atributi trenutne povezave, če je povezava uspešna. |
Server |
Ime primerka strežnika SQL Server: strežnik v omrežju, naslov IP ali vzdevek upravitelja konfiguracije. |
ServerSPN |
SPN za strežnik. |
StatsLog_On |
Omogoča zajem podatkov o učinkovitosti delovanja za gonilnik ODBC v odjemalcu SQL Server Native Client. |
StatsLogFile |
Celotna pot in ime datoteke, ki se uporablja za beleženje statističnih podatkov o učinkovitosti delovanja gonilnika ODBC za SQL Server Native Client. |
Trusted_Connection |
Določa, ali je način preverjanja pristnosti sistema Windows ali uporabniško ime oz. geslo za SQL Server uporabljeno za preverjanje veljavnosti za prijavo (vrednost »Yes« ali »No«). |
TrustServerCertificate |
Če je ključna beseda uporabljena s šifriranjem, omogoči šifriranje s samopodpisanim potrdilom strežnika. |
UID |
Ime za prijavo v strežnik SQL Server. |
UseProcForPrepare |
Zastarana ključna beseda. |
WSID |
Identifikator delovne postaje, ime omrežja računalnika, v katerem je nameščena aplikacija. |
Povzetek ključnih besed za OLE DB
V spodnji tabeli so povzete ključne besede za OLE DB, ki jih prepozna SQL Server in njihov namen. Access prepozna samo podnabor.
Ključna beseda |
Opis |
Addr |
Omrežni naslov strežnika, v katerem se izvaja primerek strežnika SQL Server. |
APP |
Niz, ki prepozna aplikacijo. |
ApplicationIntent |
Označi vrsto obremenitve aplikacije pri vzpostavljanju povezave s strežnikom (ReadOnly ali ReadWrite). |
AttachDBFileName |
Ime primarne datoteke v zbirki podatkov, ki jo je mogoče priložiti. |
AutoTranslate |
Konfigurira prevajanje znakov OEM/ANSI (vrednost »True« ali »False«). |
Connect Timeout |
Čas (v sekundah), zahtevan za dokončanje inicializacije vira podatkov. |
Current Language |
Ime jezika strežnika SQL Server. |
Data Source |
Ime primerka strežnika SQL Server v organizaciji. |
Database |
Ime zbirke podatkov. |
DataTypeCompatibility |
Število, ki označuje način obravnavanja podatkovnega tipa, ki bo uporabljen. |
Encrypt |
Določa, ali morajo biti podatki šifrirani, preden jih pošljete prek omrežja (vrednost »Yes« ali »No«). |
FailoverPartner |
Ime nadomestnega strežnika, ki bo uporabljen za zrcaljenje zbirke podatkov. |
FailoverPartnerSPN |
SPN za nadomestnega partnerja. |
Initial Catalog |
Ime zbirke podatkov. |
Initial File Name |
Ime primarne datoteke (vključno s polnim imenom poti) zbirke podatkov, ki jo je mogoče priložiti. |
Integrated Security |
Se uporablja za preverjanje pristnosti sistema Windows (SSPI). |
Language |
Jezik strežnika SQL Server. |
MarsConn |
Določa več aktivnih naborov rezultatov (MARS) v povezavi za SQL Server 2005 (9.x) ali novejšo različico (vrednost »Yes« ali »No«). |
Net |
Omrežna knjižnica, ki se uporablja za vzpostavitev povezave s primerkom strežnika SQL Server v organizaciji. |
Network Address |
Omrežni naslov primerka strežnika SQL Server v organizaciji. |
PacketSize |
Velikost omrežnega paketa. Privzeta vrednost je 4096. |
Persist Security Info |
Določa, ali je omogočeno trajno varovanje (vrednost »True« ali »False«). |
PersistSensitive |
Določa, ali je omogočeno trajna občutljivost (vrednost »True« ali »False«). |
Provider |
Za odjemalca SQL Server Native Client mora biti SQLNCLI11. |
PWD |
Geslo za prijavo v strežnik SQL Server. |
Server |
Ime primerka strežnika SQL Server: strežnik v omrežju, naslov IP ali vzdevek upravitelja konfiguracije. |
ServerSPN |
SPN za strežnik. |
Timeout |
Čas (v sekundah), zahtevan za dokončanje inicializacije vira podatkov. |
Trusted_Connection |
Določa, ali je način preverjanja pristnosti sistema Windows ali uporabniško ime oz. geslo za SQL Server uporabljeno za preverjanje veljavnosti za prijavo (vrednost »Yes« ali »No«). |
TrustServerCertificate |
Določa, ali je potrdilo strežnika potrjeno (vrednost »Yes« ali »No«). |
UID |
Ime za prijavo v strežnik SQL Server. |
Use Encryption for Data |
Določa, ali morajo biti podatki šifrirani, preden jih pošljete prek omrežja (vrednost »True« ali »False«). |
UseProcForPrepare |
Zastarana ključna beseda. |
WSID |
Identifikator delovne postaje, ime omrežja računalnika, v katerem je nameščena aplikacija. |