Hubungkan Access dengan SQL Server

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Coba ingat masa-masa bahagia ketika sup alfabet menjadi menu makanan yang menyenangkan. Simpan ingatan bahagia ini dalam memori Anda selagi kita merasakan pengalaman menikmati sup alfabet dalam versi database. Bagian berikut ini menguraikan dasar-dasar penggunaan database dengan string koneksi dan penggunaan antarmuka pemrograman database dalam kode Access VBA Anda.

Komponen akses data

Dalam Artikel ini

Menggunakan driver ODBC atau penyedia OLE DB

Menghubungkan antarmuka Access ke SQL Server secara terprogram

Ringkasan versi driver ODBC

Ringkasan versi penyedia OLE DB

Ringkasan kata kunci ODBC

Ringkasan kata kunci OLE DB

Menggunakan driver ODBC atau penyedia OLE DB

String koneksi sudah ada sejak lama. Anda dapat menentukan string koneksi yang diformat baik dalam antarmuka pengguna Access maupun dalam kode VBA. String koneksi (baik ODBC maupun OLE DB) mengirimkan informasi secara langsung ke database, seperti lokasi server, nama database, tipe keamanan, dan opsi lainnya yang berguna. Misalnya:

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

Pada awalnya, terdapat SQL Server Native Client (SNAC), yaitu pustaka mandiri yang berisi teknologi ODBC dan OLEDB dan masih tersedia untuk SQL Server versi 2005 hingga 2012. Sebagian besar aplikasi warisan menggunakan SNAC yang masih didukung untuk kompatibilitas mundur, tetapi tidak disarankan untuk digunakan dalam pengembangan aplikasi baru. Anda harus menggunakan versi driver ODBC individu yang lebih baru dan dapat diunduh.

Driver ODBC

Konektivitas Database Terbuka (ODBC) adalah protokol yang dapat digunakan untuk menyambungkan database Access ke sumber data eksternal, seperti Microsoft SQL Server. Biasanya, sumber data file (juga disebut file DSN) digunakan untuk menambahkan string koneksi. Dalam hal ini, kata kunci FILEDSN digunakan pada string koneksi, sedangkan kata kunci DSN digunakan ketika disimpan dalam registri. Atau Anda dapat menggunakan VBA untuk mengatur properti ini menggunakan string koneksi "Tanpa DSN".

Selama bertahun-tahun, driver ODBC telah diluncurkan dalam tiga tahap:

  • Sebelum 2005, driver ODBC diluncurkan dengan Windows Data Access Components (WDAC), yang awalnya bernama Microsoft Data Access Components (MDAC). Komponen ini masih diluncurkan dengan Windows untuk kompatibilitas mundur. Untuk informasi selengkapnya, lihat Komponen Microsoft atau Windows Data Access.
  • Driver ODBC diluncurkan dengan SNAC untuk SQL Server 2005 hingga SQL Server 2012.
  • Setelah SQL Server 2012, Driver ODBC telah diluncurkan secara terpisah dan menyertakan dukungan untuk fitur SQL Server yang baru.

Untuk pengembangan baru, hindari menggunakan driver ODBC dari dua tahap pertama, dan gunakan driver ODBC dari tahap ketiga.

Penyedia OLE DB

Penautan dan Penyematan Objek, Database (OLE DB) adalah protokol lebih baru yang dapat Anda gunakan untuk menghubungkan database Access ke sumber data eksternal, seperti Microsoft SQL Server. OLE DB tidak memerlukan DSN serta memberikan akses penuh ke sumber data ODBC dan driver ODBC.

Tips Biasanya, Anda menggunakan kotak dialog Properti Link Data untuk menambahkan string koneksi OLE DB. Meskipun kotak dialog Properti Tautan Data tidak dapat dibuka di Access, Anda dapat membuat file .txt kosong di Windows Explorer, mengubah tipe filenya menjadi .udl, lalu mengklik ganda file. Setelah membuat string koneksi, ubah tipe file tersebut kembali menjadi .txt.

Selama bertahun-tahun, penyedia OLE DB telah diluncurkan dalam tiga tahap:

  • Sebelum 2005, penyedia OLE DB diluncurkan dengan Windows Data Access Components (WDAC), yang awalnya bernama Microsoft Data Access Components (MDAC).
  • Penyedia OLE DB diluncurkan dengan SQL Server 2005 hingga SQL Server 2017. Komponen ini dihentikan pada tahun 2011.
  • Tahun 2017, penyedia OLE DB SQL Server kembali disediakan.

Versi saat ini yang disarankan untuk pengembangan solusi baru adalah OLE DB Driver 18 untuk SQL Server.

Cara mengoptimalkan kinerja dengan string koneksi ODBC

Untuk mengoptimalkan kinerja, meminimalkan lalu lintas jaringan, dan mengurangi akses multipengguna ke database SQL Server, gunakan string koneksi seminimal mungkin dengan membagikan string koneksi melalui beberapa kumpulan data. Meskipun hanya mengirimkan string koneksi ke server, Access dapat memahaminya dan menggunakan kata kunci berikut: DSN, DATABASE, UID, PWD, dan DRIVER untuk membantu meminimalkan komunikasi klien/server.

Catatan Jika koneksi ODBC ke sumber data eksternal hilang, Access secara otomatis mencoba menyambungkannya kembali. Jika percobaan berhasil, Anda dapat melanjutkan pekerjaan. Jika percobaan ulang gagal, Anda masih dapat bekerja dengan objek yang tidak bergantung pada koneksi. Untuk menyambungkan kembali, tutup dan buka kembali Access.

Rekomendasi ketika menggunakan ODBC dan OLE DB

Hindari mencampurkan teknologi akses database dan string koneksi. Gunakan string koneksi ODBC untuk DAO. Gunakan string koneksi OLE DB untuk ADO. Jika aplikasi Anda berisi kode VBA yang menggunakan DAO dan ADO, gunakan driver ODBC untuk DAO dan penyedia OLE DB untuk ADO. Selalu gunakan fitur dan dukungan terbaru untuk masing-masing ODBC dan OLEDB.

ODBC menggunakan istilah driver dan OLE DB menggunakan istilah penyedia. Istilah tersebut menjelaskan tipe komponen perangkat lunak yang sama tetapi tidak dapat saling menggantikan dalam sintaksis string koneksi. Gunakan nilai yang benar sebagaimana didokumentasikan.

Atas Halaman

Menghubungkan antarmuka Access ke SQL Server secara terprogram

Ada dua cara utama untuk menghubungkan antarmuka Access ke database SQL Server secara terprogram.

DAO

Objek akses data (DAO) menyediakan antarmuka abstrak ke database. Objek Microsoft Data Access (DAO) adalah model objek pemrograman asli yang memungkinkan Anda mendapatkan jantung Access dan SQL Server untuk membuat, menghapus, mengubah, dan mencantumkan objek, tabel, bidang, indeks, relasi, kueri, properti, dan database eksternal.

Untuk informasi selengkapnya, lihat Referensi Objek Microsoft Data Access.

ADO

Objek Data ActiveX (ADO) menyediakan model pemrograman tingkat tinggi dan tersedia di Access dengan referensi ke pustaka pihak ketiga. ADO mudah dipelajari dan memungkinkan aplikasi klien untuk mengakses dan mengolah data dari berbagai sumber, termasuk Access dan SQL Server. Keunggulan utamanya adalah mudah digunakan, berkecepatan tinggi, minim kelebihan memori, dan ruang disk kecil. ADO juga mendukung fitur utama untuk perancangan dan aplikasi berbasis Web.

Untuk informasi selengkapnya, lihat Referensi Objek Data Microsoft ActiveX dan Objek Data Microsoft ActiveX (ADO).

Mana yang harus Anda gunakan?

Dalam solusi Access yang menggunakan kode VBA, Anda dapat menggunakan DAO, ADO, atau keduanya sebagai teknologi antarmuka database. DAO akan selalu menjadi default di Access. Misalnya, semua formulir, laporan, dan kueri Access menggunakan DAO. Namun, ketika beralih ke SQL Server, sebaiknya gunakan ADO agar solusi Anda menjadi lebih efisien. Berikut adalah pedoman umum untuk membantu Anda memutuskan apakah harus menggunakan DAO atau ADO.

Gunakan DAO jika Anda ingin:

  • Membuat formulir baca/tulis terikat tanpa menggunakan VBA.
  • Membuat kueri tabel lokal.
  • Mengunduh data ke dalam tabel sementara.
  • Menggunakan kueri langsung sebagai sumber data untuk laporan atau formulir dalam mode baca-saja.
  • Menentukan dan menggunakan objek TableDef atau Querydef di VBA.

Gunakan ADO jika Anda ingin:

  • Memanfaatkan lebih banyak cara untuk pengoptimalan, seperti menjalankan operasi asinkron.
  • Menjalankan kueri langsung DDL dan DML.
  • Mengakses data SQL Server secara langsung melalui perangkat rekam di VBA.
  • Menulis kode yang lebih sederhana untuk tugas tertentu, seperti streaming Blob.
  • Menerapkan prosedur yang tersimpan secara langsung, dengan parameter, menggunakan objek perintah di VBA.

Atas Halaman

Ringkasan versi driver ODBC

Tabel berikut ini merangkum informasi penting tentang versi driver ODBC, lokasi unduhan, dan dukungan fitur. Pastikan Anda menggunakan versi bit driver yang tepat (64-bit atau 32-bit) berdasarkan Windows, bukan Office. Jika menjalankan Access 32-bit di Windows 64-bit, instal driver 64-bit, yang menyertakan komponen 32-bit yang diperlukan untuk Access.

Untuk informasi selengkapnya, lihat Menggunakan Kata Kunci String Koneksi dengan SQL Server Native Client, Catatan Rilis bagi ODBC untuk SQL Server di Windows (V17), dan Fitur Driver Microsoft ODBC untuk SQL Server di Windows (V13, 11).

Driver ODBC Versi Unduh Fitur baru
Driver ODBC 17.0 hingga 17.3 SQL Server 2017 Unduh Driver ODBC 17.3
Menggunakan direktori aktif Azure dengan Driver ODBC
Batasan driver ODBC ketika menggunakan Always Encrypted
Menggunakan Transaksi XA
Driver ODBC 17.2
Menggunakan Always Encrypted dengan Driver ODBC untuk SQL Server
Klasifikasi Data
UTF-8 server encoding Collation and Unicode Support
Driver ODBC 17.1
Menggunakan Always Encrypted dengan Driver ODBC untuk SQL Server
Driver ODBC 17.0
Always Encrypted
GunakanFMTONLY Untuk menggunakan metadata warisan dalam kasus khusus yang memerlukan tabel sementara. Lihat Catatan Rilis odbc untuk SQL Server di Windows
Perbedaan saat menggunakan Instans Terkelola (ODBC versi 17)
Driver ODBC 13.1 SQL Server 2016 SP1, SQL Azure Unduh Always Encrypted
Azure Active Directory
Grup Ketersediaan AlwaysOn
Driver Aware Connection Pooling di Driver ODBC untuk SQL Server
Driver ODBC 13.0 SQL Server 2016 Unduh Nama Domain Internasional (IDN)
Driver ODBC 11.0 SQL Server 2005 hingga 2012 Unduh Kumpulan Koneksi Sadar-Driver
Ketahanan Koneksi di Driver Windows ODBC
Eksekusi Asinkron
Nama Pokok Layanan (SPN) dalam Koneksi Klien (ODBC)
Fitur Driver ODBC Microsoft untuk SQL Server di Windows

Atas Halaman

Ringkasan versi penyedia OLE DB

Tabel berikut ini merangkum informasi penting tentang versi penyedia OLE DB, lokasi unduhan, dan dukungan fitur. Pastikan Anda menggunakan versi bit driver yang tepat (64-bit atau 32-bit) berdasarkan Windows, bukan Office. Jika menjalankan Access 32-bit di Windows 64-bit, instal driver 64-bit, yang menyertakan komponen 32-bit yang diperlukan untuk Access.

Untuk informasi selengkapnya, lihat Menggunakan Kata Kunci String Koneksi dengan SQL Server Native Client.

Penyedia OLE DB Versi Unduh Fitur baru
OLE DB Driver 18.2.1
(MSOLEDBSQL)
SQL Server 2017 Unduh Lihat Driver OLE DB untuk catatan Fitur dan Rilis SQL Server untuk Driver Microsoft OLE DB, untuk SQL Server
SQL Server Native Client (SQLNCLI) SQL Server 2005 hingga 2012 Tidak didukung, jangan gunakan
OLE DB Driver (SQLOLEDB) Tidak didukung, jangan gunakan

Atas Halaman

Ringkasan kata kunci ODBC

Tabel berikut ini merangkum kata kunci ODBC yang dikenali oleh SQL Server beserta tujuannya. Hanya subhimpunan yang dapat dikenali oleh Access.

Kata kunci Deskripsi
Addr Alamat jaringan server yang menjalankan instans SQL Server.
AnsiNPW Menentukan penggunaan perilaku berdasarkan ANSI untuk menangani perbandingan NULL, pengisi data karakter, peringatan, dan penggabungan NULL (Ya atau Tidak).
APP Nama aplikasi yang menerapkan SQLDriverConnect.
ApplicationIntent Mendeklarasikan tipe beban kerja aplikasi ketika menyambungkan ke server (ReadOnly atau ReadWrite).
AttachDBFileName Nama file utama dari database yang dapat dilampirkan.
AutoTranslate Menentukan apakah string karakter ANSI terkirim antara klien atau server atau diterjemahkan ke Unicode (Ya atau Tidak).
Database Nama database. Deskripsi Tujuan koneksi. Nama Driver driver sebagaimana dikembalikan oleh SQLDrivers.
DSN Nama sumber data sistem atau pengguna ODBC yang sudah ada. Enkripsi Menentukan apakah data harus dienkripsi sebelum mengirimnya melalui jaringan (Ya atau Tidak).
Failover_Partner Nama server mitra failover yang akan digunakan jika koneksi tidak dapat dilakukan ke server utama.
FailoverPartnerSPN SPN untuk mitra failover.
Fallback Kata kunci yang sudah tidak didukung.
FileDSN Nama sumber data file ODBC yang sudah ada. Bahasa Bahasa bahasa SQL Server.
MARS_Connection Menentukan beberapa rangkaian hasil aktif (MARS) pada koneksi untuk SQL Server 2005 (9.x) atau yang lebih baru (Ya atau Tidak).
MultiSubnetFailover Menentukan perlunya sambungan ke pendengar grup ketersediaan dari grup ketersediaan dari grup ketersediaan SQL Server atau Failover Cluster Instance (Ya atau Tidak).
Net dbnmpntw menunjukkan jalur bernama dan dbmssocn menunjukkan TCP/IP.
PWD Kata sandi data masuk SQL Server.
QueryLog_On Menentukan pencatatan log kueri yang berjalan dalam waktu lama (Ya atau Tidak).
QueryLogFile Nama dan jalur lengkap file yang akan digunakan untuk mencatat data pada kueri yang berjalan dalam waktu lama.
QueryLogTime String karakter digit yang menentukan batas (dalam milidetik) untuk mencatat kueri yang berjalan dalam waktu lama.
QuotedId Menentukan apakah SQL Server menggunakan aturan ISO terkait penggunaan tanda kutip dalam pernyataan SQL (Ya atau Tidak).
Regional Menentukan apakah driver ODBC SQL Server Native Client menggunakan pengaturan klien ketika mengonversi data mata uang, tanggal, atau waktu menjadi data karakter (Ya atau Tidak).
SaveFile Nama file sumber data ODBC yang menjadi tujuan penyimpanan atribut koneksi saat ini jika koneksi berhasil.
Server Nama instans SQL Server: Server di jaringan, alamat IP, atau alias Manajer Konfigurasi.
ServerSPN SPN untuk server.
StatsLog_On Memungkinkan penyimpanan data kinerja driver ODBC SQL Server Native Client.
StatsLogFile Nama dan jalur file lengkap yang digunakan untuk mencatat statistik kinerja driver ODBC SQL Server Native Client.
Trusted_Connection Menentukan apakah Mode Otentikasi Windows atau nama pengguna atau kata sandi SQL Server digunakan untuk validasi masuk (Ya atau Tidak).
TrustServerCertificate Jika digunakan dengan Encrypt akan mengaktifkan enkripsi menggunakan sertifikat server yang ditandatangani secara mandiri.
UID Nama data masuk SQL Server.
UseProcForPrepare Kata kunci yang sudah tidak didukung.
WSID Pengidentifikasi perangkat kerja, nama jaringan komputer tempat aplikasi berada.

Atas Halaman

Ringkasan kata kunci OLE DB

Tabel berikut ini merangkum kata kunci OLE DB yang dikenali oleh SQL Server beserta tujuannya. Hanya subhimpunan yang dapat dikenali oleh Access.

Kata kunci Deskripsi
Addr Alamat jaringan server yang menjalankan instans SQL Server.
APP String yang mengidentifikasi aplikasi.
ApplicationIntent Mendeklarasikan tipe beban kerja aplikasi ketika menyambungkan ke server (ReadOnly atau ReadWrite).
AttachDBFileName Nama file utama dari database yang dapat dilampirkan.
AutoTranslate Mengonfigurasi terjemahan karakter OEM/ANSI (True atau False).
Connect Timeout Jumlah waktu tunggu (dalam detik) untuk menyelesaikan inisialisasi sumber data.
Current Language Nama bahasa SQL Server.
Data Source Nama instans SQL Server dalam organisasi.
Database Nama database.
DataTypeCompatibility Angka yang menunjukkan mode penanganan tipe data yang akan digunakan.
Encrypt Menentukan apakah data harus dienkripsi sebelum dikirimkan melalui jaringan (Ya atau Tidak).
FailoverPartner Nama server failover yang digunakan untuk pencerminan database.
FailoverPartnerSPN SPN untuk mitra failover.
Initial Catalog Nama database.
Initial File Name Nama file utama (mencakup nama jalur lengkap) dari database yang dapat dilampirkan.
Integrated Security Digunakan untuk Windows Authentication (SSPI).
Language Bahasa SQL Server.
MarsConn Menentukan beberapa rangkaian hasil aktif (MARS) pada koneksi untuk SQL Server 2005 (9.x) atau yang lebih baru (Ya atau Tidak).
Net Pustaka jaringan yang digunakan untuk membuat koneksi ke instans SQL Server di organisasi.
Network Address Alamat jaringan instans SQL Server di organisasi.
PacketSize Ukuran paket jaringan. Nilai defaultnya adalah 4096.
Persist Security Info Menentukan apakah pertahankan keamanan diaktifkan (True atau False).
PersistSensitive Menentukan apakah pertahankan sensitif diaktifkan (True atau False).
Provider Untuk SQL Server Native Client, gunakan SQLNCLI11.
PWD Kata sandi data masuk SQL Server.
Server Nama instans SQL Server: Server di jaringan, alamat IP, atau alias Manajer Konfigurasi.
ServerSPN SPN untuk server.
Timeout Jumlah waktu tunggu (dalam detik) untuk menyelesaikan inisialisasi sumber data.
Trusted_Connection Menentukan apakah Mode Otentikasi Windows atau nama pengguna atau kata sandi SQL Server digunakan untuk validasi masuk (Ya atau Tidak).
TrustServerCertificate Menentukan apakah sertifikat server divalidasi (True atau False).
UID Nama data masuk SQL Server.
Use Encryption for Data Menentukan apakah data perlu dienkripsi sebelum dikirimkan melalui jaringan (True atau False).
UseProcForPrepare Kata kunci yang sudah tidak didukung.
WSID Pengidentifikasi perangkat kerja, nama jaringan komputer tempat aplikasi berada.

Atas Halaman

Mengelola sumber data ODBCMengelola tabel tertaut