Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Muistatko lapsuuden auvoiset ajat, jolloin salmiakkiaakkoset suurta herkkua? Pidä nämä iloiset ajatukset mielessäsi, kun otamme pienet maistiaiset salmiakkiaakkosten tietokantaversiosta. Seuraavissa osioissa ovat perustiedot tietokannan käyttämisestä yhteysmerkkijonojen avulla ja tietokannan ohjelmointikäyttöliittymän käyttämisestä Accessin VBA-koodissa.

Tietojen käytön osat

Tämän artikkelin sisältö

ODBC-ohjaimen tai OLE DB -palvelun käyttäminen

Ohjelmallinen liityntä SQL Serveriin Accessista

Yhteenveto ODBC-ohjainversioista

Yhteenveto OLE DB -palveluversioista

ODBC-avainsanojen yhteenveto

OLE DB -avainsanojen yhteenveto

ODBC-ohjaimen tai OLE DB -palvelun käyttäminen

Yhteysmerkkijonoja on käytetty pitkään. Voit määrittää muotoillun yhteysmerkkijonon joko Accessin käyttöliittymässä tai VBA-koodissa. Yhteysmerkkijono (joko ODBC tai OLE DB) siirtää suoraan tietokantaan tietoja, kuten palvelimen sijainnin, tietokannan nimen, suojaustyypin ja muita hyödyllisiä asetuksia. Esimerkki:

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

Ensin oli SQL Server Native Client (SNAC), erillinen kirjasto, joka sisälsi ODBC- ja OLEDB-teknologioita ja joka on edelleen käytössä SQL Server -versioissa 2005–2012. Useissa vanhoissa sovelluksissa käytetään SNAC-kirjastoa, ja sitä tuetaan edelleen yhteensopivuuden varmistamiseksi, mutta emme suosittele sen käyttämistä uusien sovellusten kehittämiseen. Sinun tulisi käyttää uudempia, ladattavia ODBC-ohjainversioita.

ODBC-ohjaimet

Open Database Connectivity (ODBC) on protokolla, jonka avulla yhdistät Access-tietokannan ulkoiseen tietolähteeseen, kuten Microsoft SQL Serveriin. Yleensä käytät tiedostotietolähteitä (kutsutaan myös DSN-tiedostoiksi) yhteysmerkkijonon lisäämiseen, jolloin FILEDSN-avainsanaa käytetään yhteysmerkkijonossa tai se tallennetaan rekisteriin, jolloin käytetään DSN-avainsanaa. Vaihtoehtoisesti voit määrittää nämä ominaisuudet VBA:n avulla käyttäen yhteysmerkkijonoa ilman DSN-nimeä.

Vuosien kuluessa ODBC-ohjaimia on toimitettu kolmessa vaiheessa:

  • Ennen vuotta 2005 ODBC-ohjaimet toimitettiin Windows Data Access Components (WDAC) -komponenttien mukana. Näitä kutsuttiin alun perin Microsoft Data Access Components (MDAC) -komponenteiksi. Nämä osat toimitetaan edelleen Windowsin mukana, jotta yhteensopivuus aiempien versioiden kanssa säilyy. Lisätietoja on artikkelissa Microsoft tai Windows Data Access Components.

  • SQL Server 2005:n – SQL Server 2012:n SNAC-kirjaston mukana toimitettavat ODBC-ohjaimet.

  • SQL Server 2012:n jälkeen ODBC-ohjaimet on toimitettu erikseen, ja ne ovat sisältäneet tuen uusille SQL Serverin ominaisuuksille.

Vältä uusien sovellusten kehittämisessä kahden ensimmäisen vaiheen ODBC-ohjaimia ja käytä kolmannen vaiheen ODBC-ohjaimia.

OLE DB -palvelut

Database (OLE DB) on uudempi protokolla, jonka avulla yhdistät Access-tietokannan ulkoiseen tietolähteeseen, kuten Microsoft SQL Serveriin. OLE DB ei vaadi DSN:ää, ja se tarjoaa myös täydet käyttöoikeudet ODBC-tietolähteisiin ja ODBC-ohjaimiin.

Vihje    OLE DB -yhteysmerkkijono lisätään yleensä Tietolinkin ominaisuudet -valintaikkunassa. Vaikka Tietolinkin ominaisuudet -valintaikkunaa ei voi avata Accessista, voit luoda Windowsin Resurssienhallinnassa tyhjän .txt-tiedoston, muuttaa tiedostotyypiksi .udl-tyypin ja sitten kaksoisnapsauttaa tiedostoa. Kun olet luonut yhteysmerkkijonon, muuta tiedostotyyppi takaisin .txt-tyypiksi.

Vuosien kuluessa OLE DB -palvelut on toimitettu kolmessa vaiheessa:

  • Ennen vuotta 2005 OLE DB -palvelut toimitettiin Windows Data Access Components (WDAC) -komponenttien mukana. Näitä kutsuttiin alun perin Microsoft Data Access Components (MDAC) -komponenteiksi.

  • OLE DB -palvelut toimitettiin SQL Server 2005:n – SQL Server 2017:n mukana. Se poistettiin käytöstä vuonna 2011.

  • Vuonna 2017 SQL Serverin OLE DB -palvelun käytöstä poisto peruutettiin.

Tällä hetkellä uusien ratkaisujen kehitykseen suositeltava versio on SQL Serverin OLE DB -ohjain 18.

Suorituskyvyn optimointi ODBC-yhteysmerkkijonon avulla

Käytä mahdollisimman vähän yhteysmerkkijonoja jakamalla yhteysmerkkijonot useille tietuejoukoille, jotta voit optimoida suorituskyvyn, minimoida verkkoliikenteen ja vähentää useiden käyttäjien pääsyä SQL Server -tietokantaan. Vaikka Ace vain välittää yhteysmerkkijonon palvelimeen, se ymmärtää ja käyttää seuraavia avainsanoja: DSN, DATABASE, UID, PWD ja DRIVER auttavat vähentämään asiakas-/palvelinviestintää.

Huomautus    Jos ODBC-yhteys ulkoiseen tietolähteeseen katkeaa, Access yrittää muodostaa siihen yhteyden uudelleen automaattisesti. Jos uudelleenyritys onnistuu, voit jatkaa työskentelyä. Jos uudelleenyritys epäonnistuu, voit edelleen käyttää objekteja, jotka eivät käytä yhteyttä. Jos haluat muodostaa yhteyden uudelleen, sulje Access ja avaa se uudelleen.

Suositukset käytettäessä sekä ODBC:tä että OLE DB:tä

Vältä yhteysmerkkijonotekniikoiden ja tietokannan käyttötekniikoiden sekoittamista. Käytä ODBC-yhteysmerkkijonoa DAO:n kanssa. Käytä OLE DB -yhteysmerkkijonoa ADO:n kanssa. Jos sovelluksesi sisältää VBA-koodia, joka käyttää sekä DAO:ta että ADO:ta, käytä ODBC-ohjainta DAO:n kanssa ja OLE DB -palvelua ADO:n kanssa. Pyri saamaan uusimmat ominaisuudet ja tuet sekä ODBC:hen OLEDB:hen.

ODBC käyttää termiohjainta ja OLE DB termipalvelua. Termit kuvaavat samantyyppistä ohjelmisto-osaa, mutta ne eivät ole vaihtokelpoisia yhteysmerkkijonon syntaksissa. Käytä oikeaa arvoa dokumentoidulla tavalla.

Sivun alkuun

Ohjelmallinen liityntä SQL Serveriin Accessista

On olemassa kaksi päätapaa liittyä Accessista SQL Server -tietokantaan.

DAO

Data Access Object (DAO) tarjoaa abstraktin liittymän tietokantaan. Microsoft Data Access Objects (DAO) on alkuperäinen ohjelmointiobjektimalli, jonka avulla voit käyttää Accessin ja SQL Serverin ydintoimintoja objektien, taulukoiden, kenttien, indeksien, yhteyksien, kyselyjen, ominaisuuksien ja ulkoisten tietokantojen luomiseen, poistamiseen ja muokkaamiseen.

Lisätietoja on artikkelissa Microsoft Data Access Objects -viiteopas.

ADO

ActiveX Data Objects (ADO) tarjoaa korkean tason ohjelmointimallin, ja se on käytettävissä Accessissa viittauksella kolmannen osapuolen kirjastoon. ADO on helppo oppia, ja sen avulla asiakassovellukset voivat käyttää ja käsitellä tietoja useista eri lähteistä, kuten Accessista ja SQL Serveristä. Sen tärkeimmät edut ovat helppokäyttöisyys, nopeus, pieni muistin käyttö ja pieni levytilan tarve. ADO tukee myös tärkeimpiä ominaisuuksia verkkopohjaisten sovellusten luontiin.

Lisätietoja on artikkeleissa Microsoft ActiveX Data Objects -viiteopas ja Microsoft ActiveX Data Objects (ADO).

Kumpaa pitäisi käyttää?

Access-ratkaisussa, joka käyttää VBA-koodia, voit käyttää tietokantaliittymätekniikkaa DAO:n, ADO:n tai kummankin kanssa. DAO on edelleen oletusasetus Accessissa. Esimerkiksi kaikki lomakkeet ja raportit sekä Access-kyselyt käyttävät DAO:ta. Jos kuitenkin siirryt SQL Serveriin, harkitse ADO:n käyttöä, jotta ratkaisusi olisi mahdollisimman tehokas. Seuraavassa on yleisiä ohjeita, joiden avulla voit päättää, onko DAO vai ADO parempi valinta.

Valitse DAO, jos haluat tehdä seuraavat toimet:

  • luettavan/kirjoitettavan sidotun lomakkeen luonti ilman VBA:ta

  • kyselyn kohdistaminen paikalliseen taulukkoon

  • tietojen lataaminen tilapäisiin taulukoihin

  • läpivientikyselyjen käyttäminen raporttien tai lomakkeiden tietolähteinä vain luku -tilassa

  • TableDef- tai QueryDef-objektin määrittäminen ja käyttäminen VBA:ssa.

Valitse ADO, jos haluat tehdä seuraavat toimet:

  • uusien optimointitapojen, kuten asynkronisten toimintojen suorittamisen, hyödyntäminen

  • DDL- ja DML-läpivientikyselyjen suorittaminen

  • SQL Serverin tietojen käyttäminen suoraan VBA-tietuejoukkojen avulla

  • yksinkertaisen koodin kirjoittaminen tietyille tehtäville, kuten Blob-objektien virtauttamiselle

  • tallennetun toimintosarjan kutsuminen suoraan parametrien avulla VBA:n komento-objektilla.

Sivun alkuun

Yhteenveto ODBC-ohjainversioista

Seuraavassa taulukossa on yhteenveto ODBC-ohjainversioita, lataussijainteja ja ominaisuustukea koskevista tärkeistä tiedoista. Varmista, että käytät ohjaimen oikeaa bittiversiota (64-bittistä tai 32-bittistä) tietokoneeseen asennetun Windowsin (ei Officen) mukaan. Jos käytössäsi on 32-bittinen Access 64-bittisessä Windowsissa, asenna 64-bittinen ohjain, joka sisältää Accessin tarvitsemat 32-bittiset osat.

Lisätietoja on artikkeleissa Yhteysmerkkijonon avainsanojen käyttäminen SQL Server Native Clientin kanssa, Windowsin SQL Serverin ODBC-ohjaimen julkaisutiedot (V17) ja Windowsin SQL Serverin Microsoft ODBC -ohjaimen ominaisuudet (V13, 11).

ODBC-ohjaimet

Versio

Lataa

Uudet ominaisuudet

ODBC-ohjaimet 17.0–17.3

SQL Server 2017

Lataa

ODBC-ohjain 17.3

Azure Active Directoryn käyttäminen ODBC-ohjaimen kanssa

ODBC-ohjaimen rajoitukset käytettäessä Always Encrypted -määritystä

XA-tapahtumien käyttäminen

ODBC-ohjain 17.2

Always Encrypted -määrityksen käyttäminen SQL Serverin ODBC-ohjaimen kanssa

Tietojen luokittelu

UTF-8-palvelinkoodauslajittelu ja Unicode-tuki

ODBC-ohjain 17.1

Always Encrypted -määrityksen käyttäminen SQL Serverin ODBC-ohjaimen kanssa

ODBC-ohjain 17.0

Always Encrypted

UseFMTONLY    Vanhojen metatietojen käyttäminen erikoistapauksissa, jotka vaativat tilapäisiä taulukoita. Katso Windowsin SQL Serverin ODBC-ohjaimen julkaisutiedot (V17)

Erot käytettäessä hallittua esiintymää (ODBC-versio 17)

ODBC-ohjain 13.1

SQL Server 2016 SP1, SQL Azure

Lataa

Always Encrypted

Azure Active Directory

AlwaysOn-käytettävyysryhmät

Ohjainkohtainen yhteysvaranto SQL Serverin ODBC-ohjaimessa

ODBC-ohjain 13.0

SQL Server 2016

Lataa

Kansainvälisiä merkkejä tukevat toimialuenimet (IDN:t)

ODBC-ohjain 11.0

SQL Server 2005–2012

Lataa

Ohjainkohtainen yhteysvaranto

Yhteyden vikasietoisuus Windowsin ODBC-ohjaimessa

Asynkroninen suoritus

Palvelujen päänimet asiakasyhteyksissä (ODBC)

Microsoft ODBC Driver -ohjain SQL Serverille Windowsissa

Sivun alkuun

Yhteenveto OLE DB -palveluversioista

Seuraavassa taulukossa on yhteenveto OLE DB -palveluversioita, lataussijainteja ja ominaisuustukea koskevista tärkeistä tiedoista. Varmista, että käytät ohjaimen oikeaa bittiversiota (64-bittistä tai 32-bittistä) tietokoneeseen asennetun Windowsin (ei Officen) mukaan. Jos käytössäsi on 32-bittinen Access 64-bittisessä Windowsissa, asenna 64-bittinen ohjain, joka sisältää Accessin tarvitsemat 32-bittiset osat.

Lisätietoja on artikkelissa Yhteysmerkkijonon avainsanojen käyttäminen SQL Server Native Clientin kanssa.

OLE DB -palvelu

Versio

Lataa

Uudet ominaisuudet

OLE DB -ohjain 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Lataa

Katso SQL Server -toiminnon OLE DB -ohjain ja Microsoft SQL Serverin OLE DB -ohjaimen julkaisutiedot

SQL Server Native Client (SQLNCLI)

SQL Server 2005–2012

Poistettu käytöstä, älä käytä

OLE DB -ohjain (SQLOLEDB)

Poistettu käytöstä, älä käytä

Sivun alkuun

ODBC-avainsanojen yhteenveto

Seuraavassa taulukossa on yhteenveto SQL Serverin tunnistamista ODBC-avainsanoista ja niiden tarkoituksista. Access tunnistaa vain osajoukon.

Avainsana.

Kuvaus

Addr

Sen palvelimen verkko-osoite, jossa SQL Server -esiintymää suoritetaan.

AnsiNPW

Määrittää ANSI-määritettyjen toimintojen käyttötavan tyhjäarvojen vertailua, merkkitietojen täyttämistä, varoituksia ja tyhjäarvojen yhdistämistä (Yes tai No) varten.

APP

SQLDriverConnect-kutsun lähettävän sovelluksen nimi.

ApplicationIntent

Ilmoittaa sovelluksen työmäärän tyypin, kun yhteys palvelimeen muodostetaan (vain luku tai luku/kirjoitus).

AttachDBFileName

Liitettävissä olevan tietokannan ensisijaisen tiedoston nimi.

AutoTranslate

Määrittää, lähetetäänkö ANSI-merkkijonot asiakkaan ja palvelimen välillä, vai käännetäänkö ne Unicode-merkeiksi (Yes tai No).

Tietokanta

Tietokannan nimi Kuvaus Yhteyden tarkoitus. Driver Sen ohjaimen nimi, jonka SQLDrivers palauttaa.

DSN

Olemassa olevan ODBC-käyttäjän tai järjestelmän tietolähteen nimi. Encrypt Määrittää, salataanko tiedot ennen niiden lähettämistä verkon kautta (Yes tai No).

Failover_Partner

Sen vikasietokumppanipalvelimen nimi, jota käytetään, jos yhteyttä pääpalvelimeen ei voi muodostaa.

FailoverPartnerSPN

Vikasietokumppanin palvelun päänimi.

Fallback

Vanhentunut avainsana.

FileDSN

Olemassa olevan ODBC-käyttäjän tietolähteen nimi. Language SQL Serverin kieli.

MARS_Connection

Määrittää useita aktiivisia tulosjoukkoja (MARS) yhteydessä SQL Server 2005:ssä (9.x) tai uudemmassa versiossa (Yes tai No).

MultiSubnetFailover

Määrittää, muodostetaanko yhteys SQL Serverin käytettävyysryhmän kuuntelutoimintoon vai vikasietoklusteriesiintymään (Yes tai No).

Net

dbnmpntw ilmaisee nimetyt putket ja dbmssocn ilmaisee TCP/IP:n.

PWD

SQL Serverin kirjautumissalasana.

QueryLog_On

Määrittää pitkäkestoisten kyselyjen kirjaamisen lokiin (Yes tai No).

QueryLogFile

Sen tiedoston täydellinen polku ja tiedostonimi, jota käytetään pitkäkestoisten kyselyjen kirjaamisessa lokiin.

QueryLogTime

Lukumerkkijono, joka määrittää pitkäkestoisten kyselyjen lokiinkirjaamisen raja-arvon (millisekunteina).

QuotedId

Määrittää, noudattaako SQL Server lainausmerkkien käyttöä SQL-lausekkeissa koskevia ISO-sääntöjä (Yes tai No).

Regional

Määrittää, käyttääkö SQL Server Native Clientin ODBC-ohjain asiakasasetuksia muunnettaessa valuutta-, päivämäärä- tai kellonaikatietoja merkkitiedoiksi (Yes tai No).

SaveFile

Sen ODBC-tietolähdetiedoston nimi, johon nykyisen yhteyden määritteet tallennetaan, jos yhteyden muodostaminen onnistuu.

Server

SQL Server -esiintymän nimi: palvelin verkossa, IP-osoite tai kokoonpanon hallinnan tunnus.

ServerSPN

Palvelimen palvelun päänimi.

StatsLog_On

Ottaa käyttöön SQL Server Native Clientin ODBC-ohjaimen suorituskykytietojen tallennuksen.

StatsLogFile

Sen tiedoston täydellinen polku ja tiedostonimi, jota käytetään SQL Server Native Clientin ODBC-ohjaimen suorituskykytietojen tallennukseen.

Trusted_Connection

Määrittää, käytetäänkö sisäänkirjautumisen todennuksessa Windows-todennustilaa, vai SQL Serverin käyttäjänimeä tai salasanaa (Yes tai No).

TrustServerCertificate

Tämän käyttäminen yhdessä Encryptin kanssa ottaa käyttöön salauksen itse allekirjoitetun palvelinvarmenteen avulla.

UID

SQL Serverin kirjautumisnimi.

UseProcForPrepare

Vanhentunut avainsana.

WSID

Työaseman tunniste, sen tietokoneen verkkonimi, jossa sovellus sijaitsee.

Sivun alkuun

OLE DB -avainsanojen yhteenveto

Seuraavassa taulukossa on yhteenveto SQL Serverin tunnistamista OLE DB -avainsanoista ja niiden tarkoituksista. Access tunnistaa vain osajoukon.

Avainsana.

Kuvaus

Addr

Sen palvelimen verkko-osoite, jossa SQL Server -esiintymää suoritetaan.

APP

Merkkijono, joka yksilöi sovelluksen.

ApplicationIntent

Ilmoittaa sovelluksen työmäärän tyypin, kun yhteys palvelimeen muodostetaan (vain luku tai luku/kirjoitus).

AttachDBFileName

Liitettävissä olevan tietokannan ensisijaisen tiedoston nimi.

AutoTranslate

Määrittää OEM-/ANSI-merkkien kääntämisen (True tai False).

Connect Timeout

Aika (sekunteina), jonka mukaisesti tietolähteen alustuksen valmistumista odotetaan.

Current Language

SQL Serverin kielen nimi.

Tietolähde

Organisaation SQL Server -esiintymän nimi.

Database

Tietokannan nimi

DataTypeCompatibility

Luku, joka ilmaisee käytettävän tieto tyypin käsittelyn tilan.

Encrypt

Määrittää, salataanko tiedot ennen niiden lähettämistä verkon kautta (Yes tai No).

FailoverPartner

Tietokantapeilauksessa käytettävän vikasietopalvelimen nimi.

FailoverPartnerSPN

Vikasietokumppanin palvelun päänimi.

Initial Catalog

Tietokannan nimi

Initial File Name

Liitettävissä olevan tietokannan ensisijaisen tiedoston nimi (sisällytä täydellinen polkunimi).

Integrated Security

Käytetään Windows-todennuksessa (SSPI).

Language

SQL Serverin kieli.

MarsConn

Määrittää useita aktiivisia tulosjoukkoja (MARS) yhteydessä SQL Server 2005:ssä (9.x) tai uudemmassa versiossa (Yes tai No).

Net

Verkkokirjasto, jonka avulla muodostetaan yhteys organisaation SQL Server -esiintymään.

Network Address

Organisaation SQL Server -esiintymän verkko-osoite.

PacketSize

Verkkopaketin koko. Oletusasetus on 4096.

Persist Security Info

Määrittää, onko pysyvä suojaus käytössä (True tai False).

PersistSensitive

Määrittää, onko pysyvä luottamuksellisuus käytössä (True tai False).

Provider

SQL Server Native Clientia varten tämän pitäisi olla SQLNCLI11.

PWD

SQL Serverin kirjautumissalasana.

Server

SQL Server -esiintymän nimi: palvelin verkossa, IP-osoite tai kokoonpanon hallinnan tunnus.

ServerSPN

Palvelimen palvelun päänimi.

Timeout

Aika (sekunteina), jonka mukaisesti tietolähteen alustuksen valmistumista odotetaan.

Trusted_Connection

Määrittää, käytetäänkö sisäänkirjautumisen todennuksessa Windows-todennustilaa, vai SQL Serverin käyttäjänimeä tai salasanaa (Yes tai No).

TrustServerCertificate

Määrittää, onko palvelinvarmenne tarkistettu (True tai False).

UID

SQL Serverin kirjautumisnimi.

Use Encryption for Data

Määrittää, salataanko tiedot ennen niiden lähettämistä verkon kautta (True tai False).

UseProcForPrepare

Vanhentunut avainsana.

WSID

Työaseman tunniste, sen tietokoneen verkkonimi, jossa sovellus sijaitsee.

Sivun alkuun

ODBC-tieto lähteiden hallinta

Linkitettyjen taulukoiden hallinta

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.