Devo usar o DAO ou ODBC?

ObservaçãoObservação

Assim como do Visual C++.NET, o ambiente do Visual C++ e os assistentes não há mais suporte DAO (embora as classes DAO estão incluídas e você ainda pode usá-las). A Microsoft recomenda que você use modelos OLE DB ou ODBC para novos projetos. Você só deve usar o DAO em manutenção de aplicativos existentes.

Qual conjunto de classes MFC você deve usar? Isso depende de suas necessidades:

  • Se você estiver trabalhando estritamente com fontes de dados ODBC, especialmente em situações de cliente/servidor, onde as classes do MFC ODBC oferecem melhor desempenho, use as classes ODBC.

  • Se você estiver trabalhando principalmente com bancos de dados Microsoft Jet (. mdb) ou com outros formatos de banco de dados, o mecanismo de banco de dados Microsoft Jet pode ler diretamente, use as classes do DAO. Para obter uma lista desses, consulte o que bancos de dados pode acessar com o DAO, ODBC?

  • Acessar fontes de dados ODBC através das classes DAO quando desejar que a velocidade do mecanismo de banco de dados Microsoft Jet e a funcionalidade das classes DAO.

    ObservaçãoObservação

    DAO requer espaço adicional no disco rígido.

As classes DAO têm as seguintes vantagens:

  • Melhor desempenho em alguns casos, particularmente quando usar bancos de dados Microsoft Jet (. mdb).

  • Compatibilidade com as classes ODBC e com o Microsoft Access Basic e do Microsoft Visual Basic.

  • Acesso às regras de validação.

  • Capacidade de especificar relações entre tabelas.

  • Um mais rico acesso modelo de dados, com suporte para linguagem de definição de dados (DDL) e a linguagem de manipulação de dados (DML). Para obter mais informações, consulte a definição de banco de dados e manipulação.

A tabela a seguir resume as principais diferenças para ajudá-lo a escolher.

Escolhendo entre MFC DAO e Classes ODBC

É possível

Com as classes DAO?

Com as classes ODBC?

Acesso.Arquivos MDB

Yes

Yes

Acessar fontes de dados ODBC

Yes

Yes

Disponível para 16 bits

No

Yes

Disponível para 32 bits

Yes

Yes

Disponível para 64 bits

No

Yes

Compactação do banco de dados

Yes

No

Suporte ao mecanismo de banco de dados

Mecanismo de banco de dados Microsoft Jet

DBMS de destino

DDL support

Yes

Somente por meio de chamadas diretas do ODBC

DML support

Yes

Yes

Natureza da implementação do MFC

"Empacotador" funções de núcleo do DAO

Simplificado de abstração, em vez de "empacotador" da API do ODBC

Ideal para

arquivos. mdb (Microsoft Access)

Qualquer DBMS para o qual você tem um driver, especialmente em situações de cliente/servidor

Suporte a transações

Por solução ou de dados ODBC, por banco de dados

Por banco de dados

Tenha em mente que os recursos de drivers ODBC variam. Para obter mais informações, consulte o ODBC referência do programador e o arquivo de ajuda para o seu driver de ODBC.

Consulte também

Outros recursos

Perguntas freqüentes sobre o acesso a dados