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.
Dalam Artikel ini
Menggunakan driver ODBC atau penyedia OLE DB
Menghubungkan antarmuka Access ke SQL Server secara terprogram
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 Microsoft atau Windows Data Access Components.
-
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, kotak dialog Properti Tautan Data digunakan 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 akan mencoba untuk menyambungkannya kembali. Jika percobaan berhasil, Anda dapat melanjutkan pekerjaan. Jika percobaan gagal, Anda masih dapat bekerja dengan objek yang tidak mengandalkan 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.
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. Microsoft Data Access Objects (DAO) adalah model objek pemrograman bawaan yang memungkinkan Anda mengoptimalkan 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 Microsoft Data Access Objects.
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 ActiveX Microsoft dan Objek Data ActiveX (ADO) Microsoft.
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.
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 untuk ODBC ke SQL Server di Windows (V17), dan Fitur Microsoft ODBC Driver untuk SQL Server di Windows (V13, 11).
Driver ODBC |
Versi |
Unduh |
Fitur baru |
Driver ODBC 17.0 hingga 17.3 |
SQL Server 2017 |
Driver ODBC 17.3 Menggunakan Azure Active Directory dengan Driver ODBC Batasan driver ODBC ketika menggunakan Always Encrypted Driver ODBC 17.2 Menggunakan Always Encrypted dengan ODBC Driver untuk SQL Server Dukungan Kolase dan Unicode pengodean server UTF-8 Driver ODBC 17.1 Menggunakan Always Encrypted dengan ODBC Driver untuk SQL Server Driver ODBC 17.0 UseFMTONLYÂ Â Â Untuk menggunakan metadata warisan dalam kasus khusus yang memerlukan tabel sementara. Lihat Catatan Rilis untuk ODBC ke SQL Server di Windows Perbedaan ketika menggunakan Instans Terkelola (ODBC versi 17) |
|
Driver ODBC 13.1 |
SQL Server 2016 SP1, SQL Azure |
Driver Aware Connection Pooling di Driver ODBC untuk SQL Server |
|
Driver ODBC 13.0 |
SQL Server 2016 |
Nama Domain Internasional (IDN) |
|
Driver ODBC 11.0 |
SQL Server 2005 hingga 2012 |
Driver-Aware Connection Pooling Ketahanan Koneksi di Windows ODBC Driver |
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 |
Lihat Fitur OLE DB Driver untuk SQL Server dan Catatan rilis Microsoft OLE DB Driver, 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 |
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. Driver Nama driver seperti yang dikembalikan oleh SQLDrivers. |
DSN |
Nama sumber data sistem atau pengguna ODBC yang sudah ada. Encrypt Menentukan apakah data harus dienkripsi sebelum dikirimkan 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. Language 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. |
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. |