Partilhar via


Classes ODBC e threads

A partir do MFC 4.2, há suporte multithreading para as classes de ODBC do MFC.Observe, entretanto, que MFC não fornece suporte a multithreading para as classes do DAO.

O suporte a multithreading classes ODBC tem algumas limitações.Como essas classes quebrar a API do ODBC, são restritos ao multithreading suporte dos 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 usá-los com um desses drivers.Você deve verificar se o driver específico é thread-safe.

Ao criar um aplicativo multithreaded, você deve ter 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 substituir os dados obtidos no Outros segmento. Um uso mais comum de classes MFC ODBC em segmentos separados é para compartilhar um em aberto CDatabase objeto pelos threads para usar a mesma conexão ODBC, com um separado CRecordset objeto em cada segmento. Observe que você não deve passar um não abertoCDatabase objeto para um CRecordset objeto em outro thread.

Observação:

Se você precisar de vários threads manipular o mesmo objeto, você deve implementar sistema autônomo mecanismos de sincronização apropriado, sistema autônomo seções críticas.Lembre-se de que certas operações, sistema autônomo em aberto, não estão protegidos.Você deve estar-se de que estas operações não serão chamadas simultaneamente de segmentos separados.

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

Consulte também

Conceitos

Open Database Connectivity (ODBC)

Programação de acesso de dados