Conectarea Access la SQL Server

Conectarea Access la SQL Server

Mai țineți minte zilele senine ale copilăriei când vă distrați la masă cu supa alfabet? Păstrați aceste amintiri fericite undeva în subconștient pe măsură ce vom testa puțin versiunea de supă alfabet a bazei de date. Următoarele secțiuni descriu noțiunile de bază ale accesului la o bază de date cu șiruri de conexiune și ale utilizării unei interfețe de programare a bazei de date în codul VBA Access.

Componente acces la date

În acest articol

Utilizarea driverului ODBC sau furnizorului OLE DB

Asigurarea prin programare a interfeței la SQL Server din Access

Rezumatul versiunilor de driver ODBC

Rezumatul versiunilor de furnizor OLE DB

Rezumatul cuvintelor cheie ODBC

Rezumatul cuvintelor cheie OLE DB

Utilizarea driverului ODBC sau furnizorului OLE DB

Șirurile de conexiune există de mult timp. Puteți defini un șir de conexiune formatat în interfața cu utilizatorul Access sau într-un cod VBA. Un șir de conexiune (ODBC sau OLE DB) transferă informațiile direct în baza de date, cum ar fi locația de server, numele bazei de date, tipul de securitate și alte opțiuni utile. De exemplu:

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

La început, a existat SQL Server Native Client (SNAC), o bibliotecă independentă care conținea tehnologii ODBC și OLEDB și care este în continuare disponibilă pentru versiunile de SQL Server 2005-2012. Multe aplicații moștenite au utilizat SNAC, iar acesta este acceptat în continuare pentru compatibilitate inversă, dar nu recomandăm să îl utilizați pentru dezvoltarea de aplicații noi. Ar trebui să utilizați versiuni individuale, mai recente, care se pot descărca, ale driverelor ODBC.

Drivere ODBC

Open Database Connectivity (ODBC) este un protocol pe care îl utilizați la conectarea unei baze de date Access la o sursă de date externă, cum ar fi Microsoft SQL Server. De obicei, utilizați surse de date de fișier (numite și fișiere DSN) pentru a adăuga un șir de conexiune, caz în care este utilizat cuvântul cheie FILEDSN pentru șirul de conexiune, sau pentru a stoca în registry, caz în care este utilizat cuvântul cheie DSN. Ca alternativă, puteți utiliza VBA pentru a seta aceste proprietăți utilizând un șir de conexiune „fără DSN”.

De-a lungul anilor, driverele ODBC au fost expediate în trei faze:

  • Înainte de 2005, driverele ODBC au fost expediate cu Componente Windows Data Access (WDAC), care inițial au fost numite Componente Microsoft Data Access (MDAC). Aceste componente continuă să fie expediate cu Windows pentru compatibilitate inversă. Pentru informații suplimentare, consultați Componente Microsoft sau Windows Data Access.

  • Drivere ODBC au fost expediate cu SNAC pentru SQL Server 2005 până la SQL Server 2012.

  • După SQL Server 2012, Drivere ODBC au fost expediate individual și conțin asistență pentru noi caracteristici SQL Server.

Pentru dezvoltare nouă, evitați să utilizați drivere ODBC din primele două faze; utilizați drivere ODBC din a treia fază.

Furnizori OLE DB

Legare și îmbinare obiecte, Bază de date (OLE, DB) este un protocol mai recent pe care îl utilizați la conectarea unei baze de date Access la o sursă de date externă, cum ar fi Microsoft SQL Server. OLE DB nu necesită un DSN și, de asemenea, oferă acces complet la surse de date ODBC și la drivere ODBC.

Sfat    De obicei, utilizați caseta de dialog Proprietăți legătură de date pentru a adăuga un șir de conexiune OLE DB. Deși din Access nu există nicio modalitate de a deschide caseta de dialog Proprietăți legătură de date, în Windows Explorer, puteți să creați un fișier .txt gol, să modificați tipul de fișier în udl., iar apoi să faceți dublu clic pe fișier. După ce creați un șir de conexiune, modificați tipul de fișier înapoi la .txt.

De-a lungul anilor, furnizori OLE DB au fost expediați în trei faze:

  • Înainte de 2005, furnizori OLE DB au fost expediați cu Componente Windows Data Access (WDAC), care inițial au fost numite Componente Microsoft Data Access (MDAC).

  • Furnizori OLE DB au fost expediați cu SQL Server 2005 până la SQL Server 2017. A fost perimat în 2011.

  • În 2017, s-a anulat perimarea furnizorului OLE DB SQL Server.

Versiunea recomandată momentan pentru dezvoltarea de soluții noi este Driver OLE DB 18 pentru SQL Server.

Cum să optimizați performanța cu un șir de conexiune ODBC

Pentru a optimiza performanța, a minimiza traficul de rețea și a reduce accesul multiutilizator la baza de date SQL Server, utilizați cât mai puține șiruri de conexiune posibil partajând șiruri de conexiune pe mai multe seturi de înregistrări. Deși Ace transferă pur și simplu un șir de conexiune la server, acesta înțelege și utilizează următoarele cuvinte cheie: DSN, DATABASE, UID, PWD, și DRIVER pentru a contribui la minimizarea comunicării client/server.

Notă    Dacă s-a pierdut o conexiune ODBC la o sursă de date externă, Access încearcă automat să se reconecteze la aceasta. Dacă reîncercarea este reușită, puteți continua să lucrați. Dacă reîncercarea nu reușește, puteți lucra în continuare cu obiectele care nu se bazează pe conexiune. Pentru a vă reconecta, închideți și deschideți din nou Access.

Recomandări atunci când utilizați atât ODBC, cât și OLE DB

Nu amestecați tehnologiile șir de conexiune și acces la bază de date. Utilizați un șir de conexiune ODBC pentru DAO. Utilizați un șir de conexiune OLE DB pentru ADO. Dacă aplicația dvs. conține cod VBA care utilizează atât DAO, cât și ADO, utilizați driverul ODBC pentru DAO și furnizorul OLE DB pentru ADO. Străduiți-vă să obțineți cele mai recente caracteristici și asistență pentru ODBC și respectiv OLEDB.

ODBC utilizează termenul driver, iar OLE DB utilizează termenul furnizor. Termenii descriu același tip de componentă software, dar nu sunt interschimbabili în sintaxa șirului de conexiune. Utilizați valoarea corectă conform documentației.

Începutul paginii

Asigurarea prin programare a interfeței la SQL Server din Access

Există două modalități principale de a asigura prin programare interfața la o bază de date SQL Server din Access.

DAO

Un Data Access Object (DAO) furnizează o interfață abstractă pentru o bază de date. Microsoft Data Access Objects (DAO) este modelul nativ de programare de obiecte, care vă permite să ajungeți chiar în miezul Access și SQL Server pentru a crea, a șterge, a modifica și a lista obiecte, tabele, câmpuri, indexuri, relații, interogări, proprietăți și baze de date externe.

Pentru informații suplimentare, consultați referința Microsoft Data Access Objects.

ADO

Obiecte de date ActiveX (ADO) oferă un model de programare de nivel înalt și este disponibil în Access printr-o referință la o bibliotecă de la terți. ADO se învață ușor și permite aplicațiilor clientului să acceseze și să manipuleze date dintr-o varietate de surse, inclusiv Access și SQL Server. Principalele beneficii sunt ușurința în utilizare, viteza mare, supraîncărcarea redusă a memoriei și în caz de memorie insuficientă și amprentă de disc mică. ADO acceptă, de asemenea, caracteristici cheie pentru aplicații de construire și bazate pe web.

Pentru informații suplimentare, consultați referința Obiecte de date ActiveX Microsoft șiObiecte de date ActiveX Microsoft (ADO).

Pe care să îl utilizați?

Într-o soluție Access care utilizează cod VBA, puteți utiliza DAO, ADO sau pe ambele ca tehnologie a interfeței pentru baza de date. DAO continuă să fie implicit în Access. De exemplu, toate formularele și rapoartele, precum și interogările Access utilizează DAO. Însă atunci când migrați la SQL Server, luați în calcul utilizarea ADO pentru a spori eficiența soluției dvs. Iată instrucțiunile generale care vă pot ajuta să stabiliți când să utilizați DAO sau ADO.

Utilizați DAO atunci când doriți să:

  • Creați un formular de citire/scriere, legat, fără a utiliza VBA.

  • Interogați tabelele locale.

  • Descărcați date în tabele temporare.

  • Utilizați interogări directe ca surse de date pentru rapoarte sau formulare în modul doar în citire.

  • Definiți și utilizați un obiect TableDef sau QueryDef în VBA.

Utilizați ADO atunci când doriți să:

  • Valorificați moduri suplimentare de optimizare, cum ar fi efectuarea de operațiuni asincrone.

  • Rulați interogări directe DDL și DML.

  • Accesați date SQL Server direct prin seturi de înregistrări în VBA.

  • Scrieți cod mai simplu pentru anumite activități, cum ar fi redarea în flux de bloburi.

  • Apelați în mod direct o procedură stocată, cu parametri, utilizând un obiect de comandă din VBA.

Începutul paginii

Rezumatul versiunilor de driver ODBC

Următorul tabel rezumă informațiile importante despre versiunile de driver ODBC, locații de descărcare și asistență pentru caracteristici. Asigurați-vă că utilizați versiunea de biți corectă (64 de biți sau 32 de biți) a driverului bazată pe Windows, nu pe Office. Dacă rulați o versiune de Access pe 32 de biți pe o versiune de Windows pe 64 de biți, instalați drivere pe 64 de biți, ceea ce include componentele pe 32 de biți necesare pentru Access.

Pentru mai multe informații, consultați Utilizarea cuvintelor cheie din șirul de conexiune cu SQL Server Native Client, Note privind versiunea pentru ODBC la SQL Server pe Windows (V17)și Caracteristicile Microsoft ODBC Driver pentru SQL Server pe Windows (V13,11).

Drivere ODBC

Versiune

Descărcare

Caracteristici noi

Drivere ODBC 17.0 până la 17.3

SQL Server 2017

Descărcare

Driver ODBC 17.3

Utilizarea Azure Active Directory cu Driver ODBC

Limitările driverului ODBC atunci când se utilizează Always Encrypted

Utilizarea tranzacțiilor XA

Driver ODBC 17.2

Utilizarea Always Encrypted cu Driver ODBC pentru SQL Server

Clasificarea datelor

Asistență Unicode și Asamblare codificare UTF-8 server

Driver ODBC 17.1

Utilizarea Always Encrypted cu Driver ODBC pentru SQL Server

Driver ODBC 17.0

Always Encrypted

UseFMTONLY    Pentru a utiliza metadate moștenite în cazuri speciale care necesită tabele temporare. Consultați Note privind versiunea pentru ODBC la SQL Server pe Windows

Diferențe atunci când utilizați instanță gestionată (ODBC versiunea 17)

Driver ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Descărcare

Always Encrypted

Azure Active Directory

Grupuri de disponibilitate AlwaysOn

Grupare de conexiuni receptivă la driver în Driver ODBC pentru SQL Server

Driver ODBC 13.0

SQL Server 2016

Descărcare

Nume de domeniu internaționalizat (IDN)

Driver ODBC 11.0

SQL Server 2005-2012

Descărcare

Grupare de conexiuni receptivă la driver

Reziliența conexiunii în Driver ODBC Windows

Execuție asincronă

Nume principale serviciu (SPN-uri) în Conexiuni client (ODBC)

Caracteristicile Microsoft ODBC Driver pentru SQL Server pe Windows

Începutul paginii

Rezumatul versiunilor de furnizor OLE DB

Următorul tabel rezumă informațiile importante despre versiunile de furnizori OLE DB, locații de descărcare și asistență pentru caracteristici. Asigurați-vă că utilizați versiunea de biți corectă (64 de biți sau 32 de biți) a driverului bazată pe Windows, nu pe Office. Dacă rulați o versiune de Access pe 32 de biți pe o versiune de Windows pe 64 de biți, instalați drivere pe 64 de biți, ceea ce include componentele pe 32 de biți necesare pentru Access.

Pentru mai multe informații, consultați Utilizarea cuvintelor cheie din șirul de conexiune cu SQL Server Native Client.

Furnizor OLE DB

Versiune

Descărcare

Caracteristici noi

Driver OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Descărcare

Consultați Caracteristica Driver OLE DB pentru SQL Server și Note privind versiunea pentru Microsoft OLE DB Driver, pentru SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005-2012

Perimat, nu se utilizează

Driver OLE DB (SQLOLEDB)

Perimat, nu se utilizează

Începutul paginii

Rezumatul cuvintelor cheie ODBC

În următorul tabel sunt rezumate cuvintele cheie ODBC recunoscute de SQL Server și scopul lor. Doar un subset este recunoscut de Access.

Cuvânt cheie

Descriere

Addr

Adresa de rețea a serverului care rulează o instanță de SQL Server.

AnsiNPW

Specifică utilizarea comportamentelor definite ANSI pentru gestionarea comparațiilor NULL, a completării datelor de tip caracter, a avertismentelor și a concatenării NULL (Da sau Nu).

APP

Numele aplicației care apelează SQLDriverConnect.

ApplicationIntent

Declară tipul de volum de lucru al aplicației atunci când vă conectați la un server (ReadOnly sau ReadWrite).

AttachDBFileName

Numele fișierului principal al unei baze de date atașabile.

AutoTranslate

Specifică dacă sunt trimise șiruri de caractere ANSI între client sau server sau traduse în Unicode (Da sau Nu).

Database

Numele bazei de date. Descriere Scopul conexiunii. Driver Numele driverului așa cum este returnat de SQLDrivers.

DSN

Numele unui surse de date utilizator ODBC sau de sistem. Encrypt Specifică dacă datele trebuie criptate înainte de a le trimite în rețea (Da sau Nu).

Failover_Partner

Numele serverului partener de reluare în caz de nereușită care se va utiliza în cazul în care nu se poate efectua o conexiune la serverul principal.

FailoverPartnerSPN

SPN pentru partenerul de reluare în caz de nereușită.

Fallback

Cuvânt cheie perimat.

FileDSN

Numele unui surse de date de fișier ODBC existente. Language Limba SQL Server.

MARS_Connection

Specifică mai multe seturi de rezultate active (MARS) la conexiunea pentru SQL Server 2005 (9.x) sau o versiune mai recentă (Da sau Nu).

MultiSubnetFailover

Specifică dacă să se conecteze la listenerul grupului de disponibilitate al unui grup de disponibilitate SQL Server sau al unei instanțe de cluster de reluare în caz de nereușită (Da sau Nu).

Net

dbnmpntw indică canale declarate, iar dbmssocn indică TCP/IP.

PWD

Parola de conectare la SQL Server.

QueryLog_On

Specifică înregistrarea în jurnal a interogărilor cu timp lung de execuție (Da sau Nu).

QueryLogFile

Calea completă și numele de fișier ale unui fișier de utilizat pentru a înregistra în jurnal date privind interogările cu timp lung de execuție.

QueryLogTime

Șir de caractere sub formă de cifre care specifică pragul (în milisecunde) pentru înregistrarea în jurnal a interogărilor cu timp lung de execuție.

QuotedId

Specifică dacă SQL Server utilizează regulile ISO în ceea ce privește utilizarea ghilimelelor în instrucțiunile SQL (Da sau Nu).

Regional

Specifică dacă driverul ODBC SQL Server Native Client utilizează setările clientului atunci când convertește date despre monedă, dată sau oră în date de tip caracter (Da sau Nu).

SaveFile

Numele unui fișier sursă de date ODBC în care sunt salvate atributele conexiunii curente dacă conexiunea a reușit.

Server

Numele unei instanțe SQL Server: Server din rețea, o adresă IP sau un alias Manager de configurare.

ServerSPN

SPN pentru server.

StatsLog_On

Activează capturarea datelor despre performanța driverului ODBC SQL Server Native Client.

StatsLogFile

Calea completă și numele de fișier ale unui fișier utilizat pentru a înregistra statisticile de performanță ale driverului ODBC SQL Server Native Client.

Trusted_Connection

Specifică dacă modul autentificare Windows sau numele de utilizator sau parola SQL Server sunt utilizate pentru validarea conectării (Da sau Nu).

TrustServerCertificate

Atunci când este utilizat cu Criptare, activează criptarea utilizând un certificat de server cu semnătură automată.

UID

Nume de conectare la SQL Server.

UseProcForPrepare

Cuvânt cheie perimat.

WSID

Identificatorul stației de lucru, numele de rețea al computerului pe care se află aplicația.

Începutul paginii

Rezumatul cuvintelor cheie OLE DB

În următorul tabel sunt rezumate cuvintele cheie OLE DB recunoscute de SQL Server și scopul lor. Doar un subset este recunoscut de Access.

Cuvânt cheie

Descriere

Addr

Adresa de rețea a serverului care rulează o instanță de SQL Server.

APP

Șirul de identificare a aplicației.

ApplicationIntent

Declară tipul de volum de lucru al aplicației atunci când vă conectați la un server (ReadOnly sau ReadWrite).

AttachDBFileName

Numele fișierului principal al unei baze de date atașabile.

AutoTranslate

Configurează traducerea caracterelor OEM/ANSI (Adevărat sau Fals).

Timp de expirare pentru conexiune

Intervalul de timp (în secunde) de așteptat pentru a se finaliza inițializarea sursei de date.

Current Language

Nume limbă pentru SQL Server.

Data Source

Numele unei instanțe de SQL Server din organizație.

Database

Numele bazei de date.

DataTypeCompatibility

Un număr care indică modul de gestionare a tipului de date care va fi utilizat.

Encrypt

Specifică dacă datele trebuie criptate înainte de a le trimite în rețea (Da sau Nu).

FailoverPartner

Numele serverului de reluare în caz de nereușită utilizat pentru reproducerea în oglindă a bazelor de date.

FailoverPartnerSPN

SPN pentru partenerul de reluare în caz de nereușită.

Initial Catalog

Numele bazei de date.

Initial File Name

Numele fișierului principal (include numele de cale completă) al unei baze de date atașabile.

Integrated Security

Utilizată pentru Autentificare Windows (SSPI).

Language

Limba SQL Server.

MarsConn

Specifică mai multe seturi de rezultate active (MARS) la conexiunea pentru SQL Server 2005 (9.x) sau o versiune mai recentă (Da sau Nu).

Net

Biblioteca de rețea utilizată pentru a stabili o conexiune la o instanță de SQL Server din organizație.

Network Address

Adresa de rețea a unei instanțe de SQL Server din organizație.

PacketSize

Dimensiunea pachetului de rețea. Valoarea implicită este 4096.

Persist Security Info

Specifică dacă este activată securitatea persistentă (Adevărat sau Fals).

PersistSensitive

Specifică dacă este activată confidențialitate persistentă (Adevărat sau Fals).

Provider

Pentru SQL Server Native Client, acesta trebuie să fie SQLNCLI11.

PWD

Parola de conectare la SQL Server.

Server

Numele unei instanțe SQL Server: Server din rețea, o adresă IP sau un alias Manager de configurare.

ServerSPN

SPN pentru server.

Timeout

Intervalul de timp (în secunde) de așteptat pentru a se finaliza inițializarea sursei de date.

Trusted_Connection

Specifică dacă modul autentificare Windows sau numele de utilizator sau parola SQL Server sunt utilizate pentru validarea conectării (Da sau Nu).

TrustServerCertificate

Specifică dacă este validat un certificat de server (Adevărat sau Fals).

UID

Nume de conectare la SQL Server.

Use Encryption for Data

Specifică dacă datele trebuie criptate înainte de a le trimite în rețea (Adevărat sau Fals).

UseProcForPrepare

Cuvânt cheie perimat.

WSID

Identificatorul stației de lucru, numele de rețea al computerului pe care se află aplicația.

Începutul paginii

Consultați și

Administrare surse de date ODBC

Gestionare tabele asociate

Extindeți-vă competențele Office
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×