分享方式:


ODBC 類別和執行緒

從 MFC 4.2 開始,MFC ODBC 類別支援多執行緒。 不過請注意,MFC 不提供 DAO 類別的多執行緒支援。

ODBC 類別的多執行緒支援有一些限制。 由於這些類別會包裝 ODBC API,因此限制為建置元件的多執行緒支援。 例如,許多 ODBC 驅動程式不是安全線程;因此,如果您使用 MFC ODBC 類別搭配下列其中一個驅動程式,則不會安全線程。 您應該確認您的特定驅動程式是否為安全線程。

建立多執行緒應用程式時,您應該非常小心使用多個執行緒來操作相同的物件。 例如,在兩個執行緒中使用相同 CRecordset 物件可能會導致擷取資料時發生問題;一個執行緒中的擷取作業可能會覆寫另一個執行緒中擷取的資料。 不同執行緒中 MFC ODBC 類別的較常見用法是跨執行緒共用開啟 CDatabase 的物件,以使用相同的 ODBC 連接,並在 CRecordset 每個執行緒中使用不同的物件。 請注意,您不應該將未開啟 CDatabase 的物件傳遞至另一個 CRecordset 執行緒中的 物件。

注意

如果您必須有多個執行緒操作相同的物件,您應該實作適當的同步處理機制,例如重要區段。 請注意,某些作業,例如 Open ,不會受到保護。 您應該確定這些作業不會從個別執行緒同時呼叫。

如需建立多執行緒應用程式的詳細資訊,請參閱 多執行緒主題

另請參閱

開放式資料庫連接 (ODBC)
資料存取程式設計 (MFC/ATL)