Accessi ühendamine SQL Serveriga

Meenutage neid muretuid lapsepõlveaegu, kui tähestikusupi söömine palju lõbu pakkus. Nende mõnusate mälestuste taustal saate nüüd maitsta tähestikusupi andmebaasiversiooni. Järgnevates jaotistes käsitletakse seda, kuidas saada andmebaasi ühendusstringide abil ja kuidas kasutada andmebaasi programmeerimise liidest Accessi VBA-koodis.

Andmepääsu komponendid

Selle artikli teemad

ODBC draiveri või OLE DB pakkuja kasutamine

SQL Serverisse pääsemine programmilise liidese abil Accessi kaudu

ODBC-draiverite versioonide ülevaade

OLE DB pakkujate versioonide ülevaade

ODBC märksõnade kokkuvõte

OLE DB märksõnade kokkuvõte

ODBC draiveri või OLE DB pakkuja kasutamine

Ühendusstringe on kasutatud juba pikka aega. Vormindatud ühendusstringi saate defineerida Accessi kasutajaliideses või VBA-koodis. Ühendusstring – olenemata sellest, kas tegu on ODBC või OLE DB-ga – edastab teabe otse andmebaasile (nt serveri asukoht, andmebaasi nimi, turbe tüüpi ja muud kasulikud suvandid). Näide.

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

Alguses oli SQL Server Native Client (SNAC) iseseisev teek, mis sisaldas ODBC- ja OLEDB- tehnoloogiaid, ja see on endiselt saadaval SQL Serveri versioonidele 2005–2012. Paljud pärandrakendused kasutasid SNAC-i ja seda toetatakse endiselt tagasiühilduvuse tagamiseks, kuid me ei soovita seda uute rakneduste arendamiseks kasutada. Peaksite hiljem kasutama eraldi allalaaditavaid ODBC draiverite versioone.

ODBC-draiverid

Avatud andmebaasipöördus (ODBC) on protokoll, mida saab kasutada Accessi andmebaasi ühendamiseks välise andmeallikaga (nt Microsoft SQL Serveriga). Tavaliselt kasutatakse ühendusstringi lisamiseks andmeallikafaile (ehk DSN-faile), mis juhul kasutatakse ühendusstringi jaoks märksõna FILEDSN, või talletatakse see registris, sellisel juhul kasutatakse märksõna DSN. Nende atribuutide määramiseks saate kasutada ka VBA-d, rakendades ilma nn DSN-vaba ühendusstringi.

Läbi aastate on ODBC draivereid välja antud kolmel moel.

  • Enne 2005. aastat saadeti ODBC draiverid Windowsi andmejuurdepääsukomponentidega (WDAC), mida algselt nimetati Microsofti andmejuurdepääsukomponentideks (MDAC). Neid komponente antakse tagasiühilduvuse tagamiseks Windowsiga välja endiselt. Lisateavet leiate teemast Microsoft või Windowsi andmepääsukomponendid.

  • ODBC draiverid, mis väljastati SNAC-iga versioonidele SQL Server 2005 kuni SQL Server 2012.

  • Pärast väljaannet SQL Server 2012 on ODBC draivereid välja antud eraldi ja neil on SQL Serveri funktsioonide tugi.

Uute arenduste puhul soovitame ODBC-draivereid esimese kahe etapi puhul vältida (kasutada neid alles kolmandas etapis).

OLE DB pakkujad

ODBC (Object Linking and Embedding Database) on uuem protokoll, mida saab kasutada Accessi andmebaasi ühendamiseks välise andmeallikaga (nt Microsoft SQL Serveriga). OLE DB ei nõua DSN-i ja võimaldab täielikku juurdepääsu ODBC andmeallikatele ja ODBC-draiveritele.

Näpunäide    Üldjuhul kasutatakse OLE DB andmebaasi lisamiseks dialoogiboksi Andmete linkimise atribuudid. Ehkki dialoogiboksi Andmelingiatribuudid avamine pole Windows Exploreris võimalik, võite luua tühja txt-faili, muuta faili tüübi .udl-iks ja siis faili topeltklõpsata. Peale ühendusstringi loomist muutke failitüüp tagasi tüübiks .txt.

OLE DB pakkujaid on aastate jooksul välja antud kolmes etapis.

  • Enne 2005. aastat saadeti OLE DB draiverid Windowsi andmejuurdepääsukomponentidega (WDAC), mida algselt nimetati Microsofti andmejuurdepääsukomponentideks (MDAC).

  • OLE DB draiverid, mis väljastati versioonidega SQL Server 2005 kuni SQL Server 2017. See aegus 2011. aastal.

  • 2017. aastal loeti SQL SQL Serveri OLE DB iganenuks.

Praegu soovitatakse uue lahenduse arendamiseks SQL Serveri jaoks versiooni OLE DB Driver 18.

Tööomaduste optimeerimine ODBC ühendusstringide abil

Jõudluse optimeerimiseks, võrguliikluse minimeerimiseks ja SQL serveri andmebaasi mitme kasutaja poolt korraga avamise vältimiseks kasutage nii vähe ühendusstringe kui võimalik, jagades ühendusstringe mitme kirjekomplekti jaoks. Kuigi Ace edastab ühendusstringi lihtsalt serverile, mõistab ja kasutab see järgmisi märksõnu. DSN, DATABASE, UID, PWD ja DRIVER, et aidata minimeerida kliendi/serveri suhtlust.

Märkus    Kui ODBC ühendus välise andmeallikaga katkeb, püüab Access automatselt ühenduse taastada. Kui ühendamine õnnestub, saate tööd jätkata. Kui ühendamine ei õnnestu, saate tööd jätkata objektidega, mis ei sõltu ühendusest. Ühenduse taastamiseks sulgege Access ja avage see siis uuesti.

Soovitused ODBC ja OLE DB koos kasutajatele

Pöörake tähelepanu sellele, et te ei ajaks segi ühendusstringe ja andmebaasi juurdepääsutehnoloogiaid. Kasutage DAO jaoks ODBC ühendusstringi. Kasutage DAO jaoks OLE DB ühendusstringi. Kui teie rakenduses on nii DAO-d kui ka ADO-d kasutav VBA-kood, siis kasutage DAO jaoks ODBC draiverit ja ADO jaoks OLE DB draiverit. Kasutage võimalusel alati nii ODBC kui ka OLEDB puhul uusimaid funktsioone ja tugilahendusi.

ODBC kasutab mõistet „draiver“ ja OLE DB kasutab mõistet „pakkuja“. Terminid kirjeldavad sama tüüpi tarkvarakomponenti, kuid need pole ühenduse stringi süntaksis asendatavad. Kasutage õiget väärtust (nagu näidatud).

Lehe algusse

SQL Serverisse pääsemine programmilise liidese abil Accessi kaudu

Programmilise liidese abil Accessi kaudu SQL Serverisse pääsemiseks on ennekõike kaks võimalust.

DAO

DAO (data access object – andmepääsuobjekt) tagab andmebaasi jaoks abstraktse liidese. Microsoft Data Access Objects (DAO) on programmeerimistmudel, mis võimaldab kasutada Accessi ja SQL Serverit süvatasandil: luua, kustutada, muuta ja loendada objekte, tabeleid, välju, indekseid, seoseid, päringuid, atribuute ja väliseid andmebaase.

Lisateavet leiate teemast Microsofti andmepääsukomponendid.

ADO

ActiveX-i andmeobjektid (ADO) võimaldavad kõrgel tasemel programmeerimismudelite kasutamist ja on Accessis saadaval viitega kolmanda osapoole teegile. ADO on lihtne õppida ja võimaldab klientrakendustel pääseda juurde ja andmeid töödelda mitmesugustest allikatest, sh Accessist ja SQL Serverist. Selle peamine eelis on kasutusmugavus, suur kiirus, väike mälumaht ja ketta väike jalajälg. ADO toetab ka ehitamise põhifunktsioone ja veebipõhiseid rakendusi.

Lisateavet leiate teemadest Microsofti ActiveX Data Objects ja Microsofti ActiveX Data Objects (ADO).

Millist võimalust kasutada?

Accessi lahenduses, mis rakendab VBA-koodi, saate andmebaasi liidese tehnoloogiana kasutada DAO-d või ADO-d või ka mõlemat. DAO on endiselt Accessis vaikevalik. Näiteks kasutavad kõik vormid, aruanded ja Accessi päringud DAO-d. Kui migreerite SQL Serverisse, kaaluge oma lahenduse tõhusamaks muutmiseks ADO kasutamist. Siin on üldised juhised, mis aitavad otsustada, millal valida DAO ja millal ADO.

Millal valida DAO?

  • Lugemise/kirjutamise/sidumise vormi loomine ilma VBA-ta

  • Päringu kohalikud tabelid

  • Andmete allalaadimine ajutistesse tabelitesse

  • Päringute või vormide andmeallikate kasutamine kirjutuskaitstud režiimis

  • TableDef-i või Querydef-i objekti määramine ja kasutamine VBA-s

Millal valida ADO?

  • Täiendav optimeerimine (näiteks asünkroonsete toimingute tegemine)

  • DDL-i ja DML-i läbivate päringute käitamine

  • SQL Serveri andmete hankimine otse VBA kirjekomplektide kaudu

  • Teatud ülesannete jaoks lihtsamate koodide loomine (näiteks Blobsi voogedastus)

  • Salvestatud toimingu otse tellimine, parameetritega, VBA käsuobjekti abil

Lehe algusse

ODBC-draiverite versioonide ülevaade

Järgmisest tabelist leiate ODBC-draiverite versioonid, allalaaditavate failide asukohad ja funktsioonide toe teabe. Veenduge, et kasutate sobiva bittide arvuga draiveriversiooni (64-bitine või 32-bitine), mis põhineb Windowsil (mitte Office'il). Kui kasutate 32-bitist Accesssi 64-bitise Windowsiga, installige 64-bitised draiverid, millel on Accessi jaoks vajalikud 32-bitised komponendid.

Lisateavet leiate teemadest SQL Server Native Clientiga ühendusstringi märksõnade kasutamine, SQL Serveri ODBC Windowsis – versioonimärkmed (V17), and SQL Serveri jaoks mõeldud Microsofti ODBC draiver Windowsis – funktsioonid (V13, 11).

ODBC-draiverid

Versioon

Allalaadimine

Uued funktsioonid

ODBC-draiverid 17.0 kuni 17.3

SQL Server 2017

Laadi alla

ODBC Driver 17.3

Azure Active Directory kasutamine ODBC-draiveriga

ODBC draiveri piirangud alati krüptimise funktsiooni kasutamisel

XA-tehingute kasutamine

ODBC Driver 17.2

SQL Serveri ODBC draiveriga alati krüptimise võimaluse kasutamine

Andmete liigitus

UTF-8 serveri kodeerimise tugi

ODBC Driver 17.1

SQL Serveri ODBC draiveriga alati krüptimise võimaluse kasutamine

ODBC Driver 17.0

Alati krüptitud

UseFMTONLY    Pärandmetaandmete kasutamine erijuhtudel, kui on vaja ajutisi tabeleid. Lugege artiklit SQL Serveri ODBC Windowsis – versioonimärkmed

Erinevused hallatava eksemplari kasutamise korral (ODBC versioon 17)

ODBC Driver 13.1

SQL Server 2016 SP1, SQL Azure

Laadi alla

Alati krüptitud

Azure Active Directory

Funktsiooni AlwaysOn kasutusrühmad

Driver Aware Connection Pooling SQL Serveri ODBC draiveris

ODBC Driver 13.0

SQL Server 2016

Laadi alla

Internationalized Domain Name (IDN)

ODBC Driver 11.0

SQL Server 2005–2012

Laadi alla

Driver-Aware Connection Pooling

Ühenduse paindlikkus Windowsi ODBC draiveris

Asünkroonne käivitamine

Teenusesesubjektide nimed (SPN-id) klientühenduse (ODBC) korral

Windowsis töötava SQL Serveri Microsofti ODBC draiveri funktsioonid

Lehe algusse

OLE DB pakkujate versioonide ülevaade

Järgmises tabelis on esitatud oluline teave OLE DB pakkujate versioonide, allalaaditavate kohtade ja funktsioonide toe kohta. Veenduge, et kasutate sobiva bittide arvuga draiveriversiooni (64-bitine või 32-bitine), mis põhineb Windowsil (mitte Office'il). Kui kasutate 32-bitist Accesssi 64-bitise Windowsiga, installige 64-bitised draiverid, millel on Accessi jaoks vajalikud 32-bitised komponendid.

Lisateavet leiate teemast SQL Server Native Clientiga ühendusstringi märksõnada kasutamine.

OLE DB pakkuja

Versioon

Allalaadimine

Uued funktsioonid

OLE DB Driver 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Laadi alla

SQL Serveri jaoks mõeldud OLE DB – funktsioonid ja SQL Serveri jaoks mõeldud Microsofti OLE DB draiver – versioonimärkmed

SQL Server Native Client (SQLNCLI)

SQL Server 2005–2012

Aegunud, mitte kasutada

OLE DB-draiver (SQLOLEDB)

Aegunud, mitte kasutada

Lehe algusse

ODBC märksõnade kokkuvõte

Järgmises tabelis on toodud SQL Serveri tuvastatavad ODBC märksõnad ja nende otstarve. Access tuvastab vaid allosa.

Märksõna

Kirjeldus

Aadress

SQL Serveri eksemplari käitava serveri võrguaadress.

AnsiNPW

Määrab ANSI-defineeritud käitumisviisid null-võrdluste tegemiseks, tähtandmetega täitmiseks, hoiatuste jaoks ja null-ühendamise jaoks („jah“ või „ei“).

APP

SQLDriverConnecti kutsuva rakenduse nimi.

ApplicationIntent

Teatab rakenduse töökoormuse failitüübi, kui loote ühenduse serveriga (ReadOnly või ReadWrite)

AttachDBFileName

Manustatava andmebaasi põhifaili nimi.

AutoTranslate

Määrab, kas ANSI-märkidega string edastatakse klientrakenduse ja serveri vahel või tõlgitakse Unicode’i („jah“ või „ei“).

Andmebaas

Andmebaasi nimi. Kirjeldus Ühenduse otstarve Draiver Draiveri nimi nii, nagu SQLDrivers selle tagastab

DSN

Olemasoleva ODBC kasutaja või süsteemi andmeallika nimi Krüpti Määrab, kas andmed enne võrgu kaudu saatmist krüptitakse või mitte (Jah või Ei).

Failover_Partner

Rikkeümberlülituse partneri serveri nimi, mida kasutada, kui põhiserveriga ühendust luua ei õnnestu.

FailoverPartnerSPN

SPN rikkeümberlülituse partneri jaoks.

Fallback

Aegunud märksõna

FileDSN

Olemasoleva ODBC faili andmeallika nimi Keel SQL Serveri keele nimi

MARS_Connection

Määratleb ühenduse MARS-id SQL Server 2005 (9.x) või hilisema versioonid jaoks („jah“ või „ei“).

MultiSubnetFailover

Määrab, kas ühendada SQL Serveri saadavusrühma või Failover Cluster Instance’iga („jah“ või „ei“).

Net

dbnmpntw tähistab nimelisi torusid ja dbmssocn tähistab TCP/IP-d.

PWD

SQL Serveri sisselogimiskonto parool

QueryLog_On

Määrab pikaajaliste päringute logimise („jah“ või „ei“)

QueryLogFile

Pikaajaliste päringute andmete logimiseks kasutatava faili täielik failiteenimi ja nimi.

QueryLogTime

Arvu-märgistring, mis määrab pikaajaliste päringute logimise läve (millisekundites).

QuotedId

Määrab, kas SQL-Server kasutab SQL-lausete puhul jutumärkide valimisel ISO-eeskirju („jah“ või „ei“).

Regional

Määrab, kas SQL Server Native Client ODBC draiver kasutab valuuta-, kuupäeva- või kellaajaandmete teisendamisel klientrakenduse sätteid („jah“ või „ei“).

SaveFile

ODBC andmeallika faili nimi – selle faili, kuhu praeguse ühenduse atribuudid eduka ühendamise korral salvestatakse.

Server

SQL Serveri eksemplari nimi Võrguserver, IP-aadress või Configuration Manageri pseudonüüm.

ServerSPN

Serveri SPN

StatsLog_On

Võimaldab SQL Server Native Clienti ODBC draiveri jõudlusandmete jäädvustamist.

StatsLogFile

SQL Server Native Clienti ODBC draiveri jõudlusandmete jäädvustamiseks kasutatud faili nimi ja failitee.

Trusted_Connection

Määrab, kas logimise valideerimiseks kasutatakse Windowsi autentimise režiimi või SQL Serveri kasutajanime või parooli („jah“ või „ei“).

TrustServerCertificate

Võimaldab krüptimisfunktsiooniga kasutamisel rakendada iseallkirjastatavat serveri sertifikaati.

UID

SQL Serveri sisselogimiskonto nimi

UseProcForPrepare

Aegunud märksõna

WSID

Tööjaama identifikaator, selle arvuti võrgu nimi, kus rakendus asub.

Lehe algusse

OLE DB märksõnad

Järgmises tabelis on toodud SQL Serveri tuvastatavad OLE DB märksõnad ja nende otstarve. Access tuvastab vaid allosa.

Märksõna

Kirjeldus

Addr

SQL Serveri eksemplari käitava serveri võrguaadress.

APP

Rakenduse tuvastav string

ApplicationIntent

Teatab rakenduse töökoormuse failitüübi, kui loote ühenduse serveriga (ReadOnly või ReadWrite)

AttachDBFileName

Manustatava andmebaasi põhifaili nimi.

AutoTranslate

Konfigureerib OEM-i/ANSI-märkide tõlkimise („tõene“ või „väär“)

Connect Timeout

Andmeallika loomise lõpuleviimiseks vajalik aeg (sekundites).

Current Language

SQL Serveri keele nimi

Andmeallikas

SQL Serveri eksemplari nimi ettevõttes

Andmebaas

Andmebaasi nimi.

DataTypeCompatibility

Arv, mis tähistab andmete töötlemise tüübi režiimi

Encrypt

Määrab, kas andmed enne võrgu kaudu saatmist krüptitakse või mitte (Jah või Ei).

FailoverPartner

Andmebaasi peegeldamisel kasutatava rikkeümberlülituse serveri nimi

FailoverPartnerSPN

SPN rikkeümberlülituse partneri jaoks.

Initial Catalog

Andmebaasi nimi.

Algne failinimi

Manustatava andmebaasi põhifaili nimi (terve failitee nimi).

Integrated Security

Kasutatakse Windowsi autentimiseks (SSPI)

Keel

SQL Serveri keele nimi

MarsConn

Määratleb ühenduse MARS-id SQL Server 2005 (9.x) või hilisema versiooni jaoks („jah“ või „ei“).

Net

Võrgu teek, mida kasutatakse ettevõtte SQL Serveri eksemplariga ühenduse loomiseks

Network Address

Ettevõtte SQL Serveri võrguaadressi nimi.

PacketSize

Võrgupaketi maht. Vaikeväärtus on 4096.

Persist Security Info

Määrab, kas püsiva turbe funktsioon on lubatud („tõene“ või „väär“).

PersistSensitive

Määrab, kas püsiva tundlikkuse funktsioon on lubatud („tõene“ või „väär“).

Provider

SQL Server Native Clienti puhul peaks see olema SQLNCLI11.

PWD

SQL Serveri sisselogimiskonto parool

Server

SQL Serveri eksemplari nimi Võrguserver, IP-aadress või Configuration Manageri pseudonüüm.

ServerSPN

Serveri SPN

Timeout

Andmeallika loomise lõpuleviimiseks vajalik aeg (sekundites).

Trusted_Connection

Määrab, kas logimise valideerimiseks kasutatakse Windowsi autentimise režiimi või SQL Serveri kasutajanime või parooli („jah“ või „ei“).

TrustServerCertificate

Määrab, kas serveri sertifikaat on valideeritud („tõene“ või „väär“).

UID

SQL Serveri sisselogimiskonto nimi

Use Encryption for Data

Määrab, kas andmed enne võrgu kaudu saatmist krüptitakse või mitte (True või False).

UseProcForPrepare

Aegunud märksõna

WSID

Tööjaama identifikaator, selle arvuti võrgu nimi, kus rakendus asub.

Lehe algusse

Vt ka

ODBC andmeallikate haldamine

Lingitud tabelite haldamine

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×