Como criar um ficheiro .mdb para bases de dados do Microsoft Access

Traduções de Artigos Traduções de Artigos
Artigo: 118609 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

A Nota: Para obter informações sobre como criar ficheiros .mdb programaticamente utilizar Visual C++ versão 4.x ou posterior, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
126606INFO: Aceder A CREATE_DB REPAIR_DB e COMPACT_DB
Um ficheiro .mdb é sempre necessário para configurar uma origem de dados do Microsoft Access utilizando o administrador da interligação de bases de dados abertas (ODBC, Open Database CONNECTIVITY) ou ao configurar a origem de dados por programação. Um ficheiro .mdb não pode ser criado utilizando as classes de base de dados MFC ou a interface de programação de aplicações (API) ODBC.

Pode utilizar um dos seguintes métodos para que uma aplicação a configurar uma origem de dados no computador:

  • Enviar e instale o ficheiro .mdb juntamente com a aplicação.
  • Torna o ficheiro .mdb num recurso definidos pelo utilizador. Em seguida, copie o ficheiro .mdb em tempo de execução.
Este artigo aborda o segundo método, tornar o ficheiro .mdb num recurso utilizador-definido.

Mais Informação

Pode utilizar um recurso definidos pelo utilizador para anexar vários dados para um ficheiro .exe. Se um ficheiro .mdb é efectuado num recurso, o recurso pode ser carregado em tempo de execução e escrito, em seguida, para um ficheiro .mdb. Os passos necessários para efectuar este procedimento são os seguintes:

  1. Crie um ficheiro .mdb utilizando o Microsoft Access ou MSQuery.
  2. Criar o ficheiro .mdb como um recurso definidos pelo utilizador adicionando a seguinte linha ao ficheiro .RC:
          mdb_file  MDB_RESOURCE filename.mdb
    						
    onde:
          mdb_file      is  a name for identifying the resource.
          MDB_RESOURCE  is  a name for identifying the type of the resource
                            and can be any user-defined type.
          filename.mdb  is  the name of the .mdb file.
    						
  3. Coloque o recurso e escreve-lo para um ficheiro .mdb. Pode utilizar a função seguinte em qualquer parte da aplicação, para criar o ficheiro .mdb. (Um espaço normal para criar o ficheiro .mdb seria a substituição da função CWinApp::InitInstance().)
       CreateMDBFile()
       {
          // Get the instance handle - required for loading the resource
          HINSTANCE hInst = AfxGetInstanceHandle();
    
          // Load the user-defined resource.
          HRSRC hmdbFile = ::FindResource(hInst, "mdb_file", "MDB_RESOURCE");
             HGLOBAL hRes = ::LoadResource(hInst, hmdbFile);
             DWORD dwResSize = ::SizeofResource(hInst, hmdbFile);
    
             if (hRes != NULL)
             {
                UINT FAR* lpnRes = (UINT FAR*)::LockResource(hRes);
                CString szFileName = "Filename.mdb";
    
                TRY
                {
                   // Create the .mdb file
                   CFile f( szFileName, CFile::modeCreate | CFile::modeWrite );
    
                   // Write the user-defined resource to the .mdb file
                   f.WriteHuge(lpnRes, dwResSize);
                   f.Flush();
                }
                CATCH( CFileException, e )
                {
          #ifdef _DEBUG
                 afxDump << "File could not be opened " << e->m_cause << "\n";
          #endif
                }
                END_CATCH
    
          #ifndef WIN32 //Unlock Resource is obsolete in the Win32 API
                ::UnlockResource(hRes);
          #endif
                ::FreeResource(hRes);
             }
          }
    						
Uma desvantagem deste método é que aumenta o tamanho do ficheiro .exe acordo com o tamanho do ficheiro .mdb. Uma vez que até mesmo um ficheiro .mdb vazio é 64 K de tamanho, a .exe é aumentado em, pelo menos, 64 K. Uma forma de reduzir o tamanho do .exe é armazenar um ficheiro .mdb comprimido para a .exe e expandi-lo em execução quando o recurso de armazenamento.

Referências

Para mais informações sobre recursos definida pelo utilizador, consulte a ajuda do Windows SDK.

Para informações adicional sobre como configurar uma origem de dados por programação, consulte os seguintes artigos na base de dados de conhecimento da Microsoft:
110507Como configurar origens de dados ODBC no Fly

110508Como criar tabelas com Foundation Classes de base de dados

Propriedades

Artigo: 118609 - Última revisão: 21 de novembro de 2006 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Foundation Class Library 4.2 nas seguintes plataformas
    • Microsoft Visual C++ 1.5 Professional Edition
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.0 Professional Edition
    • Microsoft Visual C++ 2.1
Palavras-chave: 
kbmt kbdatabase kbhowto kbprogramming KB118609 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 118609
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com