共用方式為


多執行緒

在多執行緒作業系統上,驅動程式必須是安全執行緒。 也就是應用程式必須能在一個以上的執行緒上使用相同的控制代碼。 驅動程式各有達到此目的專屬方式,而且若嘗試同時在兩個不同的執行緒上使用相同控制代碼,驅動程式可能會將任何此種嘗試序列化。

應用程式通常會使用多個執行緒,而不是非同步處理。 應用程式會建立個別的執行緒,並且在個別的執行緒上呼叫 ODBC 函式,然後在主執行緒上繼續處理。 使用 SQL_ATTR_ASYNC_ENABLE 陳述式屬性時,應用程式可以直接讓新建立的執行緒完成,而不需持續輪詢非同步函式。

若函式會接受某個陳述式代碼,且是在一個執行緒上執行,從另一個執行緒使用相同的陳述式控制代碼呼叫 SQLCancel,即可取消這些函式。 雖然驅動程式不應用這種方式將 SQLCancel 的使用序列化,但無法保證呼叫 SQLCancel 會確實取消在其他執行緒上執行的函式。