„Access“ prijungimas prie „SQL Server“

Taikoma
„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Prisiminkite jaunas dienas, kai abėcėlės raidelių sriuba buvo malonus maistas. Prisiminkite šias malonias akimirkas, nes mes šiek tiek išmanome abėcėlės raidelių sriubos skonio duomenų bazės versiją. Tolesniuose skyriuose išdėstyti pagrindai, kaip pasiekti duomenų bazę naudojant jungimosi eilutes ir naudoti duomenų bazės programavimo sąsają „Access VBA“ kode.

Duomenų prieigos komponentai

Šiame straipsnyje

ODBC tvarkyklė arba OLE DB teikimo įrankis

Programinė sąsaja su „SQL Server“ iš „Access“

ODBC tvarkyklės versijų santrauka

OLE DB tvarkyklės teikimo įrankio versijos

ODBC raktažodžių suvestinė

OLE DB raktažodžių suvestinė

ODBC tvarkyklė arba OLE DB teikimo įrankis

Jungimosi eilutės ilgą laiką buvo netoli. Galite nustatyti suformatuotą jungimosi eilutę „Access“ vartotojo sąsajoje arba VBA kode. Jungimosi eilutė (ODBC arba OLE DB) perduoda informaciją tiesiogiai į duomenų bazę, pvz., serverio vietą, duomenų bazės pavadinimą, saugos tipą ir kitas naudingas parinktis. Pavyzdžiui:

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

Iš pradžių buvo „SQL Server Native Client“ (SNAC) atskira biblioteka, kurioje buvo įdiegtos ODBC ir OLEDB technologijos ir kuri vis dar yra prieinama „SQL Server“ 2005–2012 m. versijoms. Daugelis senstelėjusių programų naudojo SNAC ir vis dar palaikomas atgalinis suderinamumas, tačiau nerekomenduojame jų naudoti naujoms programoms kurti. Turėtumėte naudoti vėlesnes atskiras atsisiunčiamas ODBC tvarkyklių versijas.

ODBC tvarkyklės

„Open Database Connectivity“ (ODBC) yra protokolas, kurį naudodami „Access“ duomenų bazę galite prijungti prie išorinio duomenų šaltinio, pvz., „Microsoft SQL Server“. Paprastai, norint įtraukti jungimosi eilutę, naudojamas failų duomenų šaltinis (taip pat vadinamas DSN failais), tuo atveju, jei FILEDSN raktažodis naudojamas jungimosi eilutėje arba saugomas registre, tokiu naudojamas DSN raktažodis. Taip pat galite naudoti VBA, kad nustatytumėte šias ypatybes naudodami jungimosi eilutę „DSN-mažiau“ jungimosi eilutę.

Per kelerius metus ODBC tvarkyklės buvo išsiųstos trimis etapais:

  • Iki 2005 m. ODBC tvarkyklės išsiųstos su „Windows Data Access Components“ (WDAC) komponentais, kurie iš pradžių buvo vadinami „„Microsoft“ Data Access Components“ (MDAC) komponentais. Šie komponentai vis dar siunčiami su „Windows“, kad būtų galimas atgalinis suderinamumas. Daugiau informacijos žr. "„Microsoft“" arba "Windows" duomenų prieigos komponentai.
  • ODBC tvarkyklės išsiųstos su SNAC, skirtu „SQL Server 2005“ naudojant „SQL Server 2012“.
  • Po „SQL Server 2012“ ODBC tvarkyklės buvo išsiųstos atskirai ir apima naujų „SQL Server“ funkcijų palaikymą.

Jei naudojate naująją plėtotę, nenaudokite ODBC tvarkyklių iš pirmųjų dviejų etapų, naudokite ODBC tvarkykles, esančias trečiajame etape.

OLE DB teikimo įrankiai

Objektų susiejimas ir įterptis , duomenų bazė (OLE DB) yra naujesnis protokolas, kurį naudodami „Access“ duomenų bazę galite prijungti prie išorinio duomenų šaltinio, pvz., „Microsoft SQL Server“. OLE DB nereikalauja DSN, taip pat suteikia visišką prieigą prie ODBC duomenų šaltinių ir ODBC tvarkyklių.

Patarimas Paprastai naudojate dialogo langą Duomenų susiejimo ypatybės, kad įtrauktumėte OLE DB jungimosi eilutę. Nors iš „Access“ negalima atidaryti dialogo lango Duomenų susiejimo ypatybės , „Windows Explorer“ galite sukurti tuščią. .txt failą, pakeisti failo tipą į .udl, tada dukart spustelėti failą. Sukūrę jungimosi eilutę, pakeiskite failo tipą atgal į .txt.

Per kelerius metus OLE DB teikimo įrankiai buvo išsiųsti trimis etapais:

  • Iki 2005 m. OLE DB teikimo įrankiai išsiųsti su „Windows Data Access Components“ (WDAC) komponentais, kurie iš pradžių buvo vadinami „„Microsoft“ Data Access Components“ (MDAC) komponentais.
  • OLE DB teikimo įrankiai išsiųsti naudojant „SQL Server 2005“ per „SQL Server 2017“. Jis buvo atšauktas 2011 m.
  • 2017 m. „SQL Server“ OLE DB teikimo įrankio atšaukimas panaikintas.

Šiuo metu rekomenduojama naujų sprendimų kūrimo versija yra OLE DB tvarkyklė 18, skirta „SQL Server“.

Kaip optimizuoti našumą naudojant ODBC jungimosi eilutę

Norėdami optimizuoti našumą, sumažinkite tinklo srautą ir sumažinkite kelių vartotojų prieigą prie „SQL Server“ duomenų bazės, naudokite kuo daugiau jungimosi eilučių, kad būtų galima bendrinti jungimosi eilutes keliuose įrašų rinkiniuose. Nors „Ace“ tiesiog pereina prie jungimosi eilutės į serverį, jis nesupranta ir naudoja šiuos raktažodžius: DSN, DUOMENŲ BAZĖ, UID, PWD ir TVARKYKLĖ, kurie padės sumažinti kliento / serverio bendravimą.

Atkreipkite dėmesį Jei nutrūksta ODBC ryšys su išoriniu duomenų šaltiniu, "Access" automatiškai bando iš naujo prisijungti prie jo. Jei kartojimas pavyksta, galite toliau dirbti. Jei pakartoti nepavyksta, vis tiek galite dirbti su objektais, kurie nepalaiko ryšio. Norėdami iš naujo prisijungti, uždarykite ir iš naujo atidarykite „Access“.

Rekomendacijos naudojant ODBC ir OLE DB

Nenaudokite jungimosi eilutės ir duomenų bazių prieigos technologijų. Naudokite ODBC jungimosi eilutę, skirtą DAO. Naudokite ODBC jungimosi eilutę, skirtą ADO. Jei jūsų programa turi VBA kodą, kuris naudoja DAO ir ADO, tada naudokite ODBC tvarkyklę, skirtą DAO, ir OLE DB teikimo įrankį, skirtą ADO. Siekia gauti naujausią funkciją ir palaiko atitinkamai ODBC ir OLEBO.

ODBC naudoja sąlygų tvarkyklę ir OLE DB naudoja sąlygų teikimo įrankį. Sąlygose aprašomas tas pats programinės įrangos komponento tipas, bet negalima pakeisti jungimosi eilutės sintaksė. Naudokite tinkamą reikšmę kaip dokumentuotą.

Puslapio viršus

Programinė sąsaja su „SQL Server“ iš „Access“

Yra du pagrindiniai programinės sąsajos su „SQL Server“ duomenų baze iš „Access“ būdai.

DAO

Duomenų prieigos objektas (DAO) pateikia abstrakčią sąsają su duomenų baze. "„Microsoft“" duomenų prieigos objektai (DAO) yra pradinio programinio objekto modelio, kuris leidžia pasiekti "Access" ir "„SQL Server“" pagrindą, kad būtų galima kurti, naikinti, modifikuoti ir išvardyti objektus, lenteles, laukus, rodykles, ryšius, užklausas, ypatybes ir išorines duomenų bazes.

Daugiau informacijos ieškokite "„Microsoft“" duomenų prieigos objektų nuorodoje.

ADO

„ActiveX“ duomenų objektai (ADO) teikia aukšto lygio programavimo modelį ir jie pasiekiami „Access“ naudojant nuorodą į trečiosios šalies biblioteką. ADO paprasta mokyti ir įgalinama kliento programų prieiga ir duomenis valdymas iš įvairių šaltinių, įskaitant „Access“ ir „SQL Server“. Jos pagrindiniai privalumai yra paprastas naudojimas, didelis greitis, mažos atminties išlaidos ir mažas disko pėdsakas. ADO taip pat palaiko pagrindines kūrimo ir žiniatinkliu pagrįstų taikomųjų programų funkcijas.

Daugiau informacijos žr. "„Microsoft“ ActiveX" duomenų objektų nuoroda ir "„Microsoft“ ActiveX" duomenų objektai (ADO).

Kurią pasirinksite?

Naudojant „Access“ sprendimą, kuris naudoja VBA kodą, kaip duomenų bazių sąsajos technologiją galite naudoti DAO, ADO arba abu. DAO ir toliau yra numatytoji „Access“ reikšmė. Pvz., visos formos ir ataskaitos bei „Access“ užklausos naudoja DAO. Bet kai perkelsite į „SQL Server“, apsvarstykite galimybę naudoti ADO, kad sprendimas būtų efektyvesnis. Pateikiame bendras gaires, kurios padės nuspręsti, kada naudoti DAO arba ADO.

Naudokite DAO, kai norite:

  • Kurti skaitymo / rašymo, susietąją formą nenaudojant VBA.
  • Pateikti vietinių lentelių užklausas.
  • Atsisiųsti duomenų į laikinas lenteles.
  • Naudoti tiesiogines užklausas kaip duomenų šaltinius ataskaitoms arba formoms tik skaitymo režimu.
  • Nustatyti ir naudoti „TableDef“ arba „Querydef“ objektą VBA.

Naudokite ADO, kai norite:

  • Naudoti papildomus optimizavimo būdus, pvz., vykdyti asinchronines operacijas.
  • Vykdyti DDL ir DML tiesiogines užklausas.
  • Tiesiogiai gauti „SQL Server“ duomenis tiesiogiai naudojant įrašų rinkinius VBA.
  • Rašyti paprastesnį tam tikrų užduočių, pvz., „Blobs“ transliacijos, kodą.
  • Tiesiogiai iškviesti įrašytą procedūrą su parametrais, naudojant komandų objektą VBA.

Puslapio viršus

ODBC tvarkyklės versijų santrauka

Toliau pateiktoje lentelėje apibendrinama svarbi informacija apie ODBC tvarkyklės versijas, atsisiuntimo vietas ir funkcijų palaikymą. Įsitikinkite, kad naudojate tinkamą (64 bitų arba 32 bitų) tvarkyklės versiją, pagrįstą „Windows“, bet ne „Office“. Jei naudojate 32 bitų „Access“ 64 bitų „Windows“ versijoje, įdiekite 64 bitų tvarkykles, kurios apima „Access“ reikalingus 32 bitų komponentus.

Daugiau informacijos rasite Ryšio eilutės raktažodžių naudojimas su „SQL Server Native Client“, ODBC į „SQL Server“ sistemoje Windows (V17) leidimo pastabos ir „Microsoft“ ODBC tvarkyklės, skirtos „SQL Server“ sistemoje "Windows", funkcijos (V13, 11).

ODBC tvarkyklės Versija Atsisiųsti Naujos funkcijos
ODBC tvarkyklės nuo 17.0 iki 17.3 SQL Server 2017 Atsisiųsti ODBC Driver 17.3
"Azure Active Directory" naudojimas su ODBC tvarkykle
ODBC tvarkyklės apribojimai naudojant "„Always Encrypted“"
XA operacijų naudojimas
ODBC tvarkyklė 17.2
"„Always Encrypted“" naudojimas su ODBC tvarkykle, skirta „SQL Server“
Duomenų klasifikavimas
UTF-8 serverio kodavimo sulyginimas ir "Unicode" palaikymas
ODBC tvarkyklė 17.1
"„Always Encrypted“" naudojimas su ODBC tvarkykle, skirta „SQL Server“
ODBC tvarkyklė 17.0
„Always Encrypted“
NaudokiteFMTTIK Jei norite naudoti pasenusių metaduomenų specialiuosius atvejus, kai reikia laikinųjų lentelių. Žiūrėkite ODBC į „SQL Server“ sistemoje "Windows" leidimo pastabas
Skirtumai, kai naudojamas valdomas egzempliorius (ODBC 17 versija)
ODBC tvarkyklė 13.1 „SQL Server“ 2016 SP1, „SQL Azure“ Atsisiųsti „Always Encrypted“
„Azure Active Directory“
AlwaysOn prieinamumo grupės
Tvarkyklės ryšių telkimas ODBC tvarkyklėje, skirtoje „SQL Server“
ODBC tvarkyklė 13.0 SQL Server 2016 Atsisiųsti Internacionalizuotas domeno vardas (IDN)
ODBC tvarkyklė 11.0 „SQL Server“ nuo 2005 iki 2012 Atsisiųsti Tvarkyklei palaikantis ryšių telkimas
"Windows" ODBC tvarkyklės ryšio atkuriamumas
Asinchroninis vykdymas
Tarnybos principo pavadinimai (SPN) klientų ryšiuose (ODBC)
"„Microsoft“" ODBC tvarkyklės, skirtos "„SQL Server“" sistemoje "Windows", funkcijos

Puslapio viršus

OLE DB tvarkyklės teikimo įrankio versijos

Toliau pateiktoje lentelėje apibendrinama svarbi informacija apie OLE DB teikimo įrankių versijas, atsisiuntimo vietas ir funkcijų palaikymą. Įsitikinkite, kad naudojate tinkamą (64 bitų arba 32 bitų) tvarkyklės versiją, pagrįstą „Windows“, bet ne „Office“. Jei naudojate 32 bitų „Access“ 64 bitų „Windows“ versijoje, įdiekite 64 bitų tvarkykles, kurios apima „Access“ reikalingus 32 bitų komponentus.

Daugiau informacijos rasite Ryšio eilutės raktažodžių naudojimas su „SQL Server Native Client“.

OLE DB teikimo įrankiai Versija Atsisiųsti Naujos funkcijos
OLE DB tvarkyklė 18.2.1
(MSOLEBSQL)
SQL Server 2017 Atsisiųsti Žr. "„SQL Server“" OLE DB tvarkyklės funkcijas ir leidimo pastabas, skirtas "„Microsoft“" OLE DB tvarkyklei, skirtai „SQL Server“
„SQL Server“ vietinis klientas (SQLNCLI) „SQL Server“ nuo 2005 iki 2012 Atsisakyta, nenaudokite
OLE DB tvarkyklė (SQLOLEDB) Atsisakyta, nenaudokite

Puslapio viršus

ODBC raktažodžių suvestinė

Toliau pateiktoje lentelėje apibendrinami ODBC raktažodžiai, kuriuos atpažįsta „QL Server“, ir jų paskirtis. „Access“ atpažįsta tik pogrupį.

Raktažodis Aprašymas
Addr Serverio, kuriame veikia „SQL Server“ egzempliorius, tinklo adresas.
AnsiNPW Nurodo ANSI apibrėžtų veikimo galimybių, skirtų NULL palyginimams tvarkyti, simbolių duomenims užpildyti, įspėjimams ir NULL sujungimui (taip arba ne).
APP Taikomosios programos, kuri iškviečia „SQLDriverConnect“, pavadinimas.
ApplicationIntent Deklaruoja taikomosios programos darbo krūvį, kai jungiasi prie serverio (tik skaityti arba skaityti ir rašyti).
AttachDBFileName Galimos pridėti duomenų bazės pirminio failo vardas.
AutoTranslate Nurodo, ar iš kliento arba serverio siunčiamos ANSI simbolių eilutės, ar išverstos į „Unicode“ (Taip ar Ne).
Duomenų bazė Duomenų bazės pavadinimas. Aprašas Jungimosi paskirtis. Tvarkyklė "SQLDrivers" pateiktos tvarkyklės pavadinimas.
DSN Esamo ODBC vartotojo arba sistemos duomenų šaltinio pavadinimas. Šifruoti Nurodykite, ar duomenys turėtų būti užšifruoti prieš siunčiant juos tinklu (taip arba ne).
Failover_Partner Permetimo partnerio serverio, kuris bus naudojamas, jei jungimosi negalima sukurti pirminiame serveryje, pavadinimas.
FailoverPartnerSPN Permetimo partnerio SPN.
Atsarginis Atšauktas raktažodis.
FileDSN Esamo ODBC failo duomenų šaltinio pavadinimas. Kalba „SQL Server“ kalba.
MARS_Connection Nurodo keletą aktyvių „SQL Server 2005“ (9.x) arba vėlesnės versijos (taip arba ne) jungimosi rezultatų rinkinių (MARS).
MultiSubnetFailover Nurodo, ar prisijungti prie „SQL Server“ prieinamumo grupės prieinamumo grupės klausytojo ar prie „Failover Cluster instance“ (taip arba ne).
Net dbnmpntw nurodo pavadintą kanalą, o dbmssocn nurodo TCP/IP.
PWD „SQL Server“ prisijungimo slaptažodis.
QueryLog_On Nurodo ilgų užklausų registravimą (taip arba ne).
QueryLogFile Visas failo, kurį norite naudoti, kad galėtumėte registruoti duomenis ilgose užklausose, adresas ir failo vardas.
QueryLogTime Skaitmenų simbolio eilutė, nurodanti, kiek laiko (milisekundėmis) yra skirta registruoti ilgoms užklausoms.
Pasiūlymo ID Nurodo, ar SQL serveris naudoja ISO taisykles, susijusias su kabučių naudojimu SQL sakiniuose (taip arba ne).
Regioninis Nurodo, ar „SQL Server Native Client“ ODBC tvarkyklė naudoja kliento parametrus, kai konvertuoja valiutos, datos ar laiko duomenis į simbolio duomenis (taip arba ne).
Įrašyti failą ODBC duomenų šaltinio failo, į kurį yra įrašomi esamo ryšio atributai, pavadinimas, jei ryšys yra sėkmingas.
Serveris „SQL Server“ egzemplioriaus pavadinimas: Serveris tinkle, IP adresas arba konfigūracijos tvarkytuvo pseudonimas.
ServerSPN Serverio SPN.
StatsLog_On Įgalinami užfiksuoti „SQL Server Native Client“ ODBC tvarkyklės produktyvumo duomenys.
Statdevifile Visas failo kelias ir failo, naudojamo „SQL Server Native Client“ ODBC tvarkyklės produktyvumo statistikai įrašyti, vardas.
Trusted_Connection Nurodo, ar „Windows“ autentifikavimo režimas arba „SQL Server“ vartotojo vardas arba slaptažodis naudojamas prisijungimui patvirtinti (taip arba ne).
TrustServerCertificate Kai naudojama su šifravimu, įgalina šifravimą naudojant vartotojo pasirašomą serverio sertifikatą.
UID „SQL Server“ prisijungimo vardas.
UseProcForPrepare Atšauktas raktažodis.
WSID Darbo vietos identifikatorius, kompiuterio, kuriame yra taikomoji programa, tinklo pavadinimas.

Puslapio viršus

OLE DB raktažodžių suvestinė

Toliau pateiktoje lentelėje apibendrinami OLE DB raktažodžiai, kuriuos atpažįsta „QL Server“, ir jų paskirtis. „Access“ atpažįsta tik pogrupį.

Raktažodis Aprašymas
Addr Serverio, kuriame veikia „SQL Server“ egzempliorius, tinklo adresas.
APP Programą identifikuojanti eilutė.
ApplicationIntent Deklaruoja taikomosios programos darbo krūvį, kai jungiasi prie serverio (tik skaityti arba skaityti ir rašyti).
AttachDBFileName Galimos pridėti duomenų bazės pirminio failo vardas.
AutoTranslate Konfigūruoja OĮG/ANSI simbolių vertimą (TRUE (teisinga) arba FALSE (klaidinga).
Prisijungti skirtasis laikas Laikas (sekundėmis), kol laukiama, kol bus baigta duomenų šaltinio iniciacija.
Dabartinė kalba „SQL Server“ kalbos pavadinimas.
Duomenų šaltinis Organizacijoje esančio „SQL Server“ egzemplioriaus pavadinimas.
Duomenų bazė Duomenų bazės pavadinimas.
DataTypeCompatibility Skaičius, nurodantis duomenų tipo tvarkymo režimą, kuris bus naudojamas.
Šifruoti Nurodykite, ar duomenys turėtų būti užšifruoti prieš siunčiant juos tinklu (taip arba ne).
FailoverPartner Permetimo serverio, naudojamo duomenų bazės atvaizdavimo tikslais, pavadinimas.
FailoverPartnerSPN Permetimo partnerio SPN.
Pradinis katalogas Duomenų bazės pavadinimas.
Pradinis failo vardas Pridedamos duomenų bazės pradinis failo vardas (apima visa duomenų bazės kelio pavadinimą).
Integruota sauga Naudota „Windows“ autentifikavimui (SSPI).
Kalba „SQL Server“ kalba.
MarsConn Nurodo keletą aktyvių „SQL Server 2005“ (9.x) arba vėlesnės versijos (taip arba ne) jungimosi rezultatų rinkinių (MARS).
Tinklas Tinklo biblioteka, naudojama ryšiui su „ SQL Server“ organizacijoje sukurti.
Tinklo adresas Organizacijoje esančio „SQL Server“ egzemplioriaus tinklo pavadinimas.
PacketSize Tinklo paketo dydis. Numatytoji reikšmė yra 4096.
Išlieka saugos informacija Nurodo, ar įgalinta sauga (TRUE (teisinga) arba FALSE (klaidinga).
PersistSensitive Nurodo, ar įgalintas slaptumas (TRUE (teisinga) arba FALSE (klaidinga).
Teikimo įrankis „SQL Server Native Client“ reikia SQLNCLI11.
PWD „SQL Server“ prisijungimo slaptažodis.
Serveris „SQL Server“ egzemplioriaus pavadinimas: Serveris tinkle, IP adresas arba konfigūracijos tvarkytuvo pseudonimas.
ServerSPN Serverio SPN.
Skirtasis laikas Laikas (sekundėmis), kol laukiama, kol bus baigta duomenų šaltinio iniciacija.
Trusted_Connection Nurodo, ar „Windows“ autentifikavimo režimas arba „SQL Server“ vartotojo vardas arba slaptažodis naudojamas prisijungimui patvirtinti (taip arba ne).
TrustServerCertificate Nurodo, ar serverio sertifikatas patvirtintas (TRUE (teisinga) arba FALSE (klaidinga).
UID „SQL Server“ prisijungimo vardas.
Duomenų šifravimo naudojimas Nurodykite, ar duomenys turėtų būti užšifruoti prieš siunčiant juos tinklu (TRUE (teisinga) arba FALSE (klaidinga).
UseProcForPrepare Atšauktas raktažodis.
WSID Darbo vietos identifikatorius, kompiuterio, kuriame yra taikomoji programa, tinklo pavadinimas.

Puslapio viršus

ODBC duomenų šaltinių administravimas Susietų lentelių tvarkymas