Cómo crear una.Archivo MDB para bases de datos de Microsoft Access

Seleccione idioma Seleccione idioma
Id. de artículo: 118609 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Nota: para obtener información sobre cómo crear.MDB mediante programación archivos mediante Visual C++ versión 4.x o posterior, por favor consulte el siguiente artículo en Microsoft Knowledge Base:
126606INFORMACIÓN: Acceso a CREATE_DB, REPAIR_DB y COMPACT_DB
Un archivo .mdb siempre es necesario configurar una sourceeither de datos de Microsoft Access con el Administrador de la conectividad abierta de bases de datos (ODBC) o byconfiguring el origen de datos mediante programación. Un archivo .mdb, no puede becreated con las clases de base de datos de MFC o de la interfaz de applicationprogramming (API) de ODBC.

Puede utilizar uno de los métodos siguientes para que una aplicación Configurar origen de adata en el equipo:

  • Distribuir e instalar el archivo .mdb junto con la solicitud.
  • Hacer que el archivo .mdb en un recurso definido por el usuario. A continuación, copie el archivo .mdb en tiempo de ejecución.
Este artículo analiza el segundo método, que hace el archivo .mdb en un recurso definido por el usuario.

Más información

Puede utilizar un recurso definido por el usuario para adjuntar varios datos a un.EXEfile. Si es un archivo .mdb en un recurso, el recurso puede ser loadedat en tiempo de ejecución y, a continuación, se escriben en un archivo .mdb. Los pasos necesarios para realizar la thisare de la siguiente manera:

  1. Crear un archivo .mdb mediante Microsoft Access o MSQuery.
  2. Crear el archivo .mdb como un recurso definido por el usuario, agregue la línea siguiente a la.Archivo RC:
          mdb_file  MDB_RESOURCE filename.mdb
    						
    donde:
          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. Cargar el recurso y escribirla en un archivo .mdb. Puede utilizar la siguiente función, desde cualquier lugar de la aplicación, para crear el archivo .mdb. (Un lugar típico para crear el archivo .mdb sería el reemplazo de la función de 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);
             }
          }
    						
La única desventaja de este método es que aumenta el tamaño del archivo de the.exe según el tamaño del archivo .mdb. Porque ni siquiera un archivo empty.mdb tiene un tamaño de 64K, el .exe se incrementará en al menos 64 KB. Es una manera para disminuir el tamaño de los .exe para almacenar un archivo .mdb comprimidos en the.exe y expandirla en ejecución cuando se almacena el recurso.

Referencias

Para obtener más información sobre los recursos definidos por el usuario, consulte la SDKHelp de Windows.

Para obtener información adicional acerca de cómo configurar un origen de datos mediante programación, vea los siguientes artículos en Microsoft Knowledge Base:
110507Cómo configurar orígenes de datos ODBC en la marcha

110508Cómo crear tablas con las clases de base de datos de base

Propiedades

Id. de artículo: 118609 - Última revisión: jueves, 6 de febrero de 2014 - Versión: 5.0
La información de este artículo se refiere a:
  • Microsoft Foundation Class Library 4.2 sobre las siguientes plataformas
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.1
Palabras clave: 
kbdatabase kbhowto kbprogramming kbmt KB118609 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 118609
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

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