Compartilhar via


Segmentos e Classes ODBC

A partir do MFC 4.2, há suporte a multithreading para as classes do MFC ODBC. 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. Porque essas classes encapsula a API de ODBC, são restritos para o suporte a multithreading 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 você usá-los com um desses drivers. Você deve verificar se o seu driver específico é thread-safe.

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

ObservaçãoObservação

Se você precisa ter vários segmentos que manipulam o mesmo objeto, você deve implementar mecanismos de sincronização apropriado, como, por exemplo, as 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 em segmentos separados.

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

Consulte também

Conceitos

Open Database Connectivity (ODBC)

Programação de acesso de dados