Access savienojuma izveide ar SQL Server

Attiecas uz
Access pakalpojumam Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Atsauciet atmiņā to laimīgo periodu, kad pārmērīgs dažādu akronīmu lietojums nesagādāja galvassāpes. Paturiet prātā šīs laimīgās domas, kamēr mēs jums pastāstām par datu bāzu specifiskajiem akronīmiem. Nākamajās sadaļās ir izklāstīta pamatinformācija par datu bāzes izveidi, izmantojot savienojuma virknes, un datu bāzu programmēšanas interfeisa izmantošanu Access VBA kodā.

Datu piekļuves komponenti

Šajā rakstā

ODBC draivera vai OLE DB nodrošinātāja izmantošana

Programmatiska datu apstrāde no Access uz SQL Server

ODBC draiveru versiju kopsavilkums

OLE DB nodrošinātāju versiju kopsavilkums

ODBC atslēgvārdu kopsavilkums

OLE DB atslēgvārdu kopsavilkums

ODBC draivera vai OLE DB nodrošinātāja izmantošana

Savienojuma virknes pastāv jau ilgu laiku. Varat definēt formatētu savienojuma virkni vai nu Access lietotāja interfeisā, vai VBA kodā. Savienojuma virkne (ODBC vai OLE DB) pārnes informāciju tieši uz datu bāzi, piemēram, servera atrašanās vietu, datu bāzes nosaukumu, drošības tipu un citas noderīgas iespējas. Piemērs.

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

Sākumā tika lietota SQL Server Native Client (SNAC) — savrupa bibliotēka, kurā ir iekļautas ODBC un OLEDB tehnoloģijas, un tā joprojām ir pieejama SQL Server 2005–2012 versijās. Daudzas mantotās lietojumprogrammas izmantoja SNAC, un tas joprojām tiek atbalstīts atpakaļsaderības nodrošināšanai, taču mēs neiesakām to izmantot jaunu lietojumprogrammu izstrādei. Tā vietā izmantojiet jaunākas atsevišķas, lejupielādējamas ODBC draiveru versijas.

ODBC draiveri

Atvērto datu bāzu savienojamība (Open Database Connectivity — ODBC) ir protokols, ko var izmantot, lai savienotu Access datu bāzi ar ārēju datu avotu, piemēram, Microsoft SQL Server. Parasti failu datu avoti (dēvēti arī par DSN failiem) tiek izmantoti, lai pievienotu savienojuma virkni (šādā gadījumā atslēgvārds FILEDSN tiek lietots savienojuma virknē vai tiek saglabāts reģistrā (tad tiek izmantots DSN atslēgvārds)). Varat arī izmantot VBA, lai iestatītu šos rekvizītus, izmantojot savienojuma virknes "bez DNS".

Gadu gaitā ODBC draiveri ir tikuši sūtīti trīs posmos:

  • Pirms 2005. gada versijas ODBC draiveri tika sūtīti ar Windows datu piekļuves komponentiem (Windows Data Access Components — WDAC), kas sākotnēji tika dēvēti par Microsoft datu piekļuves komponentiem (Microsoft Data Access Components — MDAC). Šie komponenti joprojām tiek sūtīti ar Windows, lai nodrošinātu atpakaļsaderību. Papildinformāciju skatiet sadaļā Microsoft vai Windows datu piekļuves komponenti.
  • ODBC draiveri tika sūtīti ar SNAC SQL Server 2005 versiju un jaunākām versijām līdz SQL Server 2012 versijai.
  • Pēc SQL Server 2012 versijas ODBC draiveri tiek sūtīti atsevišķi un ietver atbalstu jaunajiem SQL Server līdzekļiem.

Lai veiktu jaunu izstrādi, neizmantojiet ODBC draiverus no pirmajiem diviem posmiem. Izmantojiet ODBC draiverus no trešā posma.

OLE DB nodrošinātāji

Objektu saistīšanas un iegulšanas datu bāze (Object Linking and Embedding Database — OLE DB) ir jaunāks protokols, ko var izmantot, lai savienotu Access datu bāzi ar ārēju datu avotu, piemēram, Microsoft SQL Server. OLE DB izmantošanai nav nepieciešams DSN, un tas nodrošina pilnu piekļuvi ODBC datu avotiem un ODBC draiveriem.

Padoms Lai pievienotu OLE DB savienojuma virkni, parasti tiek izmantots dialoglodziņš Datu saišu rekvizīti. Lai gan programmā Windows Explorer nav iespējas atvērt dialoglodziņu Datu saišu rekvizīti, varat izveidot tukšu .txt failu, nomainīt faila tipu uz .udl un pēc tam veikt dubultklikšķi uz faila. Pēc tam, kad esat izveidojis savienojuma virkni, nomainiet faila tipu atpakaļ uz .txt.

Gadu gaitā OLE DB nodrošinātāji ir tikuši sūtīti trīs posmos:

  • Pirms 2005. gada versijas OLE DB nodrošinātāji tika sūtīti ar Windows datu piekļuves komponentiem (Windows Data Access Components — WDAC), kas sākotnēji tika dēvēti par Microsoft datu piekļuves komponentiem (Microsoft Data Access Components — MDAC).
  • OLE DB nodrošinātāji tika sūtīti ar SNAC SQL Server 2005 versiju un jaunākām versijām līdz SQL Server 2017 versijai. Tas tika atzīts par novecojušu 2011. gadā.
  • 2017. gadā SQL Server OLE DB nodrošinātāja novecošanas statuss tika atcelts.

Pašlaik ieteiktā jauna risinājuma izstrādes versija ir OLE DB draiveris 18 darbam ar SQL Server.

Veiktspējas optimizēšana, izmantojot ODBC savienojuma virkni

Lai optimizētu veiktspēju, samazinātu tīkla trafiku un samazinātu vairāku lietotāju piekļuvi SQL Server datu bāzei, izmantojiet pēc iespējas mazāk savienojuma virkņu, kopīgojot savienojuma virknes vairākās ierakstu kopās. Lai gan Ace vienkārši pārsūta savienojuma virkni uz serveri, tas saprot un izmanto šādus atslēgvārdus: DSN, DATABASE, UID, PWD un DRIVER, lai palīdzētu samazināt klienta/servera saziņu.

Piezīme Ja tiek zaudēts ODBC savienojums ar ārēju datu avotu, programma Access automātiski mēģina atkārtoti izveidot savienojumu ar to. Ja atkārtotais mēģinājums ir sekmīgs, varat turpināt darbu. Ja atkārtotais mēģinājums ir neveiksmīgs, varat strādāt ar objektiem, kas nav atkarīgi no savienojuma. Lai atkārtoti izveidotu savienojumu, aizveriet un vēlreiz atveriet programmu Access.

Ieteikumi, izmantojot gan ODBC, gan OLE DB

Izvairieties no savienojuma virkņu un datu bāzu piekļuves tehnoloģiju apvienošanas. DAO objektiem izmantojiet ODBC savienojuma virkni. ADO objektiem izmantojiet OLE DB savienojuma virkni. Ja jūsu lietojumprogrammā ir VBA kods, kas izmanto gan DAO, gan ADO, DAO objektiem izmantojiet ODBC draiveri, bet ADO objektiem — OLE DB nodrošinātāju. Mēģiniet iegūt jaunākos ODBC un OLEDB līdzekļus un atbalstu.

ODBC izmanto terminu draiveri, bet OLE DB — terminu nodrošinātāju. Termini apraksta viena un tā paša tipa programmatūras komponentu, bet nav savstarpēji aizvietojami savienojuma virkņu sintaksē. Izmantojiet pareizās vērtības, kā norādīts dokumentācijā.

Uz lapas sākumu

Programmatiska datu apstrāde no Access uz SQL Server

Ir divi galvenie veidi, kā programmatiski apstrādāt datus no Access uz SQL Server datu bāzi.

DAO

Datu piekļuves objekts (DAO) nodrošina abstraktu datu apstrādi uz datu bāzei. Microsoft datu piekļuves objekti (DAO) ir vietējais programmēšanas objekta modelis, kas ļauj izmantot Access un SQL Server pamatprincipus, lai izveidotu, dzēstu, modificētu un uzskaitītu objektus, tabulas, laukus, indeksus, relācijas, vaicājumus, rekvizītus un ārējās datu bāzes.

Papildinformāciju skatiet Microsoft datu piekļuves objektu atsaucē.

ADO

ActiveX datu objekti (ADO) nodrošina augsta līmeņa programmēšanas modeli, kas ir pieejams programmā Access, izmantojot atsauci uz trešo pušu bibliotēku. ADO ir vienkārši apgūstama metode, kas ļauj klienta lietojumprogrammām piekļūt un manipulēt datus no dažādiem avotiem, tostarp Access un SQL Server. Tās primārie ieguvumi ir lietošanas ērtums, ātrdarbība, zems atmiņas lietojums un niecīga aizņemta vieta diskā. ADO atbalsta arī galvenos līdzekļus, kas paredzēti izstrādei un tīmekļa lietojumprogrammām.

Papildinformāciju skatiet sadaļā Microsoft ActiveX datu objektu atsauce un Microsoft ActiveX datu objekti (ADO).

Kuru izmantot?

Access risinājumā, kas izmanto VBA kodu, varat izmantot DAO, ADO (vai abus) kā datu bāzes interfeisa tehnoloģiju. Programmā Access pēc noklusējuma joprojām tiek izmantots DAO. Piemēram, visas formas, atskaites un Access vaicājumi izmanto DAO. Taču, ja migrējat uz SQL Server, apsveriet iespēju izmantot ADO, lai risinājums būtu efektīvāks. Tālāk norādītas vispārīgas vadlīnijas, kas palīdzēs izlemt, kad izmantot DAO vai ADO.

Izmantojiet DAO, lai:

  • Izveidotu lasāmu/rakstāmu, saistītu formu, neizmantojot VBA.
  • Veiktu vaicājumus lokālās tabulās.
  • Lejupielādētu datus pagaidu tabulās.
  • Izmantotu tranzītvaicājumus kā datu avotus atskaitēm vai formām tikai lasīšanas režīmā.
  • Definētu un izmantotu TableDef vai objektu QueryDef valodā VBA.

Izmantojiet ADO, lai:

  • Izmantotu papildu optimizēšanas veidus, piemēram, asinhronu darbību veikšanu.
  • Izpildītu DDL un DML tranzītvaicājumus.
  • Piekļūtu SQL Server datiem tieši, izmantojot VBA ierakstkopas.
  • Uzrakstītu vienkāršāku kodu noteiktiem uzdevumiem, piemēram, BLOB straumēšanai.
  • Tieši izsauktu saglabātu procedūru ar parametriem, izmantojot VBA komandu objektu.

Uz lapas sākumu

ODBC draiveru versiju kopsavilkums

Tālāk sniegtajā tabulā ir apkopota svarīga informācija par ODBC draiveru versijām, lejupielāžu atrašanās vietām un līdzekļu atbalstu. Pārliecinieties, vai izmantojat draivera pareizo bitu versiju (64 bitu vai 32 bitu), pamatojoties uz Windows, nevis Office. Ja 64 bitu Windows versijā darbojas 32 bitu Access versija, instalējiet 64 bitu draiverus, kuros ir iekļauti programmai Access nepieciešamie 32 bitu komponenti.

Papildinformāciju skatiet sadaļā Savienojuma virkņu atslēgvārdu izmantošana ar SQL Server Native Client, ODBC uz SQL Server laidiena piezīmes operētājsistēmā Windows (V17) un Microsoft ODBC draivera līdzekļi darbam ar SQL Server operētājsistēmā Windows (V13, 11).

ODBC draiveri Versija Lejupielāde Jauni līdzekļi
ODBC draiveri 17.0 līdz 17.3 SQL Server 2017 Lejupielāde ODBC draiveris 17.3
Azure Active Directory izmantošana ar ODBC draiveri
ODBC draivera ierobežojumi, izmantojot Always Encrypted
XA transakciju izmantošana
ODBC draiveris 17.2
Always Encrypted izmantošana ar ODBC draiveri programmai SQL Server
Datu klasifikācija
UTF-8 servera kodēšana Komplektēšanas un unikoda atbalsts
ODBC draiveris 17.1
Always Encrypted izmantošana ar ODBC draiveri programmai SQL Server
ODBC draiveris 17.0
Always Encrypted
UseFMTONLY Lai izmantotu mantotos metadatus īpašos gadījumos, kad nepieciešamas pagaidu tabulas. Skatiet piezīmes par laidienu ODBC uz SQL Server operētājsistēmā Windows
Atšķirības, izmantojot Managed Instance (ODBC versija 17)
ODBC draiveris 13.1 SQL Server 2016 SP1, SQL Azure Lejupielāde Always Encrypted
Azure Active Directory
AlwaysOn pieejamības grupas
Driver Aware Connection Pooling ODBC draiverī SQL Server
ODBC draiveris 13.0 SQL Server 2016 Lejupielāde Internacionalizēts domēna nosaukums (IDN)
ODBC draiveris 11.0 SQL Server 2005 līdz 2012 Lejupielāde Driver-Aware Connection Pooling
Savienojuma elastība Windows ODBC draiverī
Asinhronā izpilde
Pakalpojumu primārie nosaukumi (SPN) klienta savienojumos (ODBC)
Microsoft ODBC draivera līdzekļi SQL Server operētājsistēmā Windows

Uz lapas sākumu

OLE DB nodrošinātāju versiju kopsavilkums

Tālāk sniegtajā tabulā ir apkopota svarīga informācija par OLE DB nodrošinātāju versijām, lejupielāžu atrašanās vietām un līdzekļu atbalstu. Pārliecinieties, vai izmantojat draivera pareizo bitu versiju (64 bitu vai 32 bitu), pamatojoties uz Windows, nevis Office. Ja 64 bitu Windows versijā darbojas 32 bitu Access versija, instalējiet 64 bitu draiverus, kuros ir iekļauti programmai Access nepieciešamie 32 bitu komponenti.

Papildinformāciju skatiet sadaļā Savienojuma virkņu atslēgvārdu izmantošana ar SQL Server Native Client.

OLE DB nodrošinātājs Versija Lejupielāde Jauni līdzekļi
OLE DB draiveris 18.2.1
(MSOLEDBSQL)
SQL Server 2017 Lejupielāde Skatiet rakstu SQL Server OLE DB draivera līdzeklis un piezīmes par laidienu Microsoft OLE DB draiverim programmai SQL Server
SQL Server Native Client (SQLNCLI) SQL Server 2005 līdz 2012 Novecojis, neizmantot
OLE DB draiveris (SQLOLEDB) Novecojis, neizmantot

Uz lapas sākumu

ODBC atslēgvārdu kopsavilkums

Tālāk norādītajā tabulā ir apkopoti ODBC atslēgvārdi, ko atpazīst SQL Server, un to mērķis. Access atpazīst tikai apakškopu.

Atslēgvārds Apraksts
Addr Tā servera tīkla adrese, kurā darbojas SQL Server instance.
AnsiNPW Norāda ANSI definēto darbību lietojumu vērtību NULL salīdzinājumu apstrādei, rakstzīmju datu papildināšanai, brīdinājumiem un vērtību NULL konkatenācijai (Jā vai Nē).
APP Tās lietojumprogrammas, kurā tiek izsaukts SQLDriverConnect, nosaukums.
ApplicationIntent Deklarē lietojumprogrammas darba slodzes tipu, izveidojot savienojumu ar serveri (tikai lasāms vai lasāms/rakstāms).
AttachDBFileName Pievienojamās datu bāzes primārā faila nosaukums.
AutoTranslate Norāda, vai ANSI rakstzīmju virknes tiek sūtītas starp klientu vai serveri vai tulkotas uz unikodu (Jā vai Nē).
Database Datu bāzes nosaukums. Apraksts Savienojuma mērķis. Draivera nosaukums, ko atgriež SQLDrivers.
DSN Esoša ODBC lietotāja vai sistēmas datu avota nosaukums. Encrypt Norāda, vai dati jāšifrē pirms pārsūtīšanas pa tīklu (Jā vai Nē).
Failover_Partner Kļūmjpārlēces partnera servera nosaukums, kas jāizmanto, ja nevar izveidot savienojumu ar primāro serveri.
FailoverPartnerSPN Kļūmjpārlēces partnera SPN.
Fallback Novecojis atslēgvārds.
FileDSN Esoša ODBC faila datu avota nosaukums. Language SQL Server valoda.
MARS_Connection Norāda vairākas aktīvo rezultātu kopas (multiple active result sets — MARS) SQL Server 2005 (9.x) vai jaunākas versijas savienojumam (Jā vai Nē).
MultiSubnetFailover Norāda, vai izveidot savienojumu ar pieejamības grupas klausītāju SQL Server pieejamības grupā vai kļūmjpārlēces klastera instancē (Jā vai Nē).
Net dbnmpntw norāda nosauktos programmkanālus, bet dbmssocn norāda TCP/IP.
PWD SQL Server pieteikšanās parole.
QueryLog_On Norāda ilglaicīgu vaicājumu reģistrēšanu (Jā vai Nē).
QueryLogFile Pilns tā faila ceļš un faila nosaukums, kas jāizmanto, lai reģistrētu datus ilgtermiņa vaicājumos.
QueryLogTime Ciparu rakstzīmju virkne, kas norāda slieksni (milisekundēs), lai reģistrētu ilgtermiņa vaicājumus.
QuotedId Norāda, vai SQL Server izmanto ISO kārtulas, kas attiecas uz pēdiņu lietošanu SQL priekšrakstos (Jā vai Nē).
Regional Norāda, vai SQL Server Native Client ODBC draiveris izmanto klienta iestatījumus, konvertējot valūtas, datuma vai laika datus uz rakstzīmes datiem (Jā vai Nē).
SaveFile ODBC datu avota faila nosaukums, kurā tiek saglabāti pašreizējā savienojuma atribūti, ja savienojums ir sekmīgs.
Server SQL Server instances nosaukums: serveris tīklā, IP adrese vai konfigurācijas pārvaldnieka aizstājvārds.
ServerSPN Servera SPN.
StatsLog_On Ļauj tvert SQL Server Native Client ODBC draivera veiktspējas datus.
StatsLogFile Pilns tā faila ceļš un faila nosaukums, kas tiek lietots, lai reģistrētu SQL Server Native Client ODBC draivera veiktspējas statistiku.
Trusted_Connection Norāda, vai pieteikšanās validācijai (Jā vai Nē) tiek lietots Windows autentifikācijas režīms vai SQL Server lietotājvārds vai parole.
TrustServerCertificate Ja tiek izmantots kopā ar šifrēšanu, iespējo šifrēšanu, izmantojot pašparakstītu servera sertifikātu.
UID SQL Server pieteikšanās vārds.
UseProcForPrepare Novecojis atslēgvārds.
WSID Darbstacijas identifikators, tā datora tīkla nosaukums, kurā atrodas lietojumprogramma.

Uz lapas sākumu

OLE DB atslēgvārdu kopsavilkums

Tālāk norādītajā tabulā ir apkopoti OLE DB atslēgvārdi, ko atpazīst SQL Server, un to mērķis. Access atpazīst tikai apakškopu.

Atslēgvārds Apraksts
Addr Tā servera tīkla adrese, kurā darbojas SQL Server instance.
APP Virkne, kas identificē lietojumprogrammu.
ApplicationIntent Deklarē lietojumprogrammas darba slodzes tipu, izveidojot savienojumu ar serveri (tikai lasāms vai lasāms/rakstāms).
AttachDBFileName Pievienojamās datu bāzes primārā faila nosaukums.
AutoTranslate Konfigurē OEM/ANSI rakstzīmju tulkošanu (patiess vai aplams).
Connect Timeout Laika apjoms (sekundēs), līdz tiek pabeigta datu avotu inicializācija.
Current Language SQL Server valodas nosaukums.
Data Source SQL Server instances nosaukums organizācijā.
Database Datu bāzes nosaukums.
DataTypeCompatibility Skaitlis, kas norāda datu tipa apstrādes režīmu, kas tiks lietots.
Encrypt Norāda, vai dati jāšifrē pirms pārsūtīšanas pa tīklu (Jā vai Nē).
FailoverPartner Tā kļūmjpārlēces servera nosaukums, kas tiek lietots spoguļdatu bāzēs.
FailoverPartnerSPN Kļūmjpārlēces partnera SPN.
Initial Catalog Datu bāzes nosaukums.
Initial File Name Primārā faila nosaukums (ietverts pilns ceļa nosaukums) pievienotajā datu bāzē.
Integrated Security Tiek izmantots Windows autentifikācijai (SSPI).
Language SQL Server valoda.
MarsConn Norāda vairākas aktīvo rezultātu kopas (multiple active result sets — MARS) SQL Server 2005 (9.x) vai jaunākas versijas savienojumam (Jā vai Nē).
Net Tīkla bibliotēka, kas tiek lietota, lai izveidotu savienojumu ar organizācijas SQL Server instanci.
Network Address SQL Server instances tīkla adrese organizācijā.
PacketSize Tīkla pakešu lielums. Noklusējuma iestatījums ir 4096.
Persist Security Info Norāda, vai ir iespējota drošības saglabāšana (patiess vai aplams).
PersistSensitive Norāda, vai ir iespējota Persist Sensitive (patiess vai aplams).
Provider SQL Server Native Client: SQLNCLI11.
PWD SQL Server pieteikšanās parole.
Server SQL Server instances nosaukums: serveris tīklā, IP adrese vai konfigurācijas pārvaldnieka aizstājvārds.
ServerSPN Servera SPN.
Timeout Laika apjoms (sekundēs), līdz tiek pabeigta datu avotu inicializācija.
Trusted_Connection Norāda, vai pieteikšanās validācijai (Jā vai Nē) tiek lietots Windows autentifikācijas režīms vai SQL Server lietotājvārds vai parole.
TrustServerCertificate Norāda, vai servera sertifikāts ir validēts (patiess vai aplams).
UID SQL Server pieteikšanās vārds.
Use Encryption for Data Norāda, vai dati jāšifrē pirms pārsūtīšanas pa tīklu (patiess vai aplams).
UseProcForPrepare Novecojis atslēgvārds.
WSID Darbstacijas identifikators, tā datora tīkla nosaukums, kurā atrodas lietojumprogramma.

Uz lapas sākumu

ODBC datu avotu administrēšanaSaistīto tabulu pārvaldība