Bagikan melalui


Kelas dan Utas ODBC

Dimulai dengan MFC 4.2, ada dukungan multithreading untuk kelas MFC ODBC. Namun, perhatikan bahwa MFC tidak memberikan dukungan multithreading untuk kelas DAO.

Dukungan multithreading untuk kelas ODBC memiliki beberapa batasan. Karena kelas-kelas ini membungkus API ODBC, kelas tersebut dibatasi untuk dukungan multithreading komponen tempat mereka dibangun. Misalnya, banyak driver ODBC tidak aman utas; oleh karena itu, kelas ODBC MFC tidak aman utas jika Anda menggunakannya dengan salah satu driver ini. Anda harus memverifikasi apakah driver khusus Anda aman utas.

Saat membuat aplikasi multithread, Anda harus sangat berhati-hati dalam menggunakan beberapa utas untuk memanipulasi objek yang sama. Misalnya, menggunakan objek yang sama CRecordset dalam dua utas dapat menyebabkan masalah saat mengambil data; operasi pengambilan dalam satu utas mungkin menimpa data yang diambil di utas lain. Penggunaan kelas ODBC MFC yang lebih umum dalam utas terpisah adalah berbagi objek terbuka CDatabase di seluruh utas untuk menggunakan koneksi ODBC yang sama, dengan objek terpisah CRecordset di setiap utas. Perhatikan bahwa Anda tidak boleh meneruskan CDatabase objek yang belum dibuka ke CRecordset objek di utas lain.

Catatan

Jika Anda harus memiliki beberapa utas yang memanipulasi objek yang sama, Anda harus menerapkan mekanisme sinkronisasi yang sesuai, seperti bagian penting. Ketahuilah bahwa operasi tertentu, seperti Open, tidak dilindungi. Anda harus yakin bahwa operasi ini tidak akan dipanggil secara bersamaan dari utas terpisah.

Untuk informasi selengkapnya tentang membuat aplikasi multithread, lihat Topik Multithreading.

Baca juga

Open Database Koneksi ivity (ODBC)
Pemrograman Akses Data (MFC/ATL)