Entrar com a conta da Microsoft
Entre ou crie uma conta.
Olá,
Selecione uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Ao abrir um banco de dados criado com o Access 2000 através de classes MFC DAO no Visual C++, você pode receber a seguinte mensagem de erro:

Formato de banco de dados não reconhecido.

Você também receber essa mensagem quando tentar criar um novo banco de dados do DAO MFC SDI ou projeto MDI usando AppWizard MFC.

Causa

Essa mensagem de erro ocorre porque o DAO MFC classes fornecidos com o Visual C++ 6.0 carga DAO 3.5 (DAO350. dll) por padrão. Usa o DAO 3.5 Jet 3.5, que só pode abrir o formato Jet 3.5 (ou anterior) bancos de dados. Access 2000 cria arquivos de banco de dados, que são irreconhecíveis Jet 3.5 de formato Jet 4.0. Para abrir um banco de dados do Access 2000 usando as classes MFC DAO com êxito, você precisa usar o DAO 3.6 (DAO360). DAO 3.6 utiliza o Jet 4.0, que pode abrir qualquer formato de banco de dados de acesso disponível.

Resolução

Atualmente, não há nenhuma solução alternativa para usar AppWizard com fontes de dados do Access 2000.

Para seu aplicativo para usar a versão 3.6 do DAO, você deve atualizar a versão do MFC em tempo de execução ao MFC versão 6.01. Para fazer isso depende se você está criando o aplicativo para usar a DLL do MFC ou criar com bibliotecas estáticas para MFC.

Se você estiver vinculando com DLL da MFC, você pode especificar que você deseja que o MFC para usar o DAO 3.6, inserindo a seguinte linha de código antes de abrir um banco de dados do Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Inserir essa linha na função CYourApp::Initinstance() do seu programa. Se você estiver criando com as bibliotecas MFC estáticas, a seguir estão as etapas para obter estático compilações do MFC para usar o DAO 3.6:

  1. Modifique o arquivo Daocore.cpp no diretório SRC MFC. Você receberá o seguinte comentário:

    // Determine whether to use DAO 3.6, 3.5, or 3.0
    // Use DAO 3.0 if DLL build and not built with MFC 4.21 or later
    // Use DAO 3.6 if MFC 6.01 or later
    // otherwise, DAO 3.5

    Adicione as seguintes linhas:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Recrie a biblioteca para a variante que você precisa. Por exemplo, para criar a biblioteca MFC estática, a versão de depuração, não-Unicode, sem arquivos de navegador use o seguinte comando no prompt de comando, na pasta MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

    for unicode builds:
    nmake DEBUG=1 UNICODE=1
    nmake DEBUG=0 UNICODE=1

Observação: Você precisa garantir que as ferramentas do compilador estão no seu caminho. Caso contrário, talvez seja necessário executar o arquivo Vcvars32.bat localizado na pasta \BIN do Visual C++. Além disso, observe que quando você criar essas novas versões das bibliotecas, eles serão copiados sobre as existentes na pasta MFC\LIB para que talvez você queira salvar os antigos primeiro.

Status

Esse comportamento é pré-definido.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×