Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Desde o MFC 4.2, existe suporte para multithreading nas classes ODBC do MFC. Observe, no entanto, que o MFC não fornece suporte a multithreading para as classes DAO.
O suporte multithreading para as classes ODBC tem algumas limitações. Como estas classes encapsulam a API ODBC, elas estão restritas ao suporte para multithreading dos componentes nos quais foram construídas. Por exemplo, muitos drivers ODBC não são thread-safe; portanto, as classes ODBC da MFC não são thread-safe se os utilizar com um desses drivers. Você deve verificar se o seu driver específico é thread-safe.
Ao criar um aplicativo multithreaded, você deve ter muito cuidado ao usar vários threads para manipular o mesmo objeto. Por exemplo, usar o mesmo CRecordset objeto em dois threads pode causar problemas ao recuperar dados, uma operação de busca em um thread pode substituir os dados buscados no outro thread. Um uso mais comum das classes ODBC MFC em threads separados é compartilhar um objeto aberto CDatabase entre threads para usar a mesma conexão ODBC, com um objeto separado CRecordset em cada thread. Observe que você não deve passar um objeto não aberto CDatabase para um CRecordset objeto em outro thread.
Observação
Se você precisar ter vários threads manipulando o mesmo objeto, implemente os mecanismos de sincronização apropriados, como seções críticas. Esteja ciente de que certas operações, como Open, não são protegidas. Você deve ter certeza de que essas operações não serão chamadas simultaneamente a partir de threads separados.
Para obter mais informações sobre como criar aplicativos multithreaded, consulte Tópicos de multithreading.
Ver também
Open Database Connectivity (ODBC)
Programação de Acesso a Dados (MFC/ATL)