Partilhar via


Classes ODBC e segmentos

Começando com o MFC 4.2, há suporte a multithreading para as classes de ODBC do MFC.No entanto, observe que MFC não oferece suporte a multithreading para as classes do DAO.

O suporte a multithreading para as classes ODBC tem algumas limitações.Como essas classes encapsula a API do ODBC, são restritos para o suporte a multithreading os componentes que são criados.Por exemplo, muitos drivers ODBC não são thread-safe; Portanto, as classes de ODBC do MFC não são thread-safe se você usá-los com um desses drivers.Você deve verificar se seu driver específico é thread-safe.

Ao criar um aplicativo multithread, deve ser muito cuidado ao usar vários segmentos para manipular o mesmo objeto.Por exemplo, usando o mesmo CRecordset objeto em dois segmentos pode causar problemas ao recuperar dados; uma operação de busca em um thread pode sobrescrever os dados obtidos no outro segmento.Um uso mais comum de classes MFC ODBC em segmentos separados é compartilhar uma abertura CDatabase objeto entre threads para usar a mesma conexão ODBC, com um separado CRecordset objeto em cada segmento.Observe que não deve passar uma devolução CDatabase o objeto para um CRecordset objeto em outro thread.

ObservaçãoObservação

Se você deve ter vários segmentos manipular o mesmo objeto, você deve implementar os mecanismos de sincronização apropriado, como seções críticas.Esteja ciente de que certas operações, como Abrir, não estão protegidos.Você deve certificar-se de que essas operações não serão chamadas simultaneamente de segmentos separados.

Para obter mais informações sobre como criar aplicativos multithread, consulte Tópicos Multithreading.

Consulte também

Conceitos

Open Database Connectivity (ODBC)

Programação de acesso de dados