DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 118609 - Dernière mise à jour: mardi 21 novembre 2006 - Version: 3.2

 

Résumé

Remarque : Pour plus d'informations sur la façon de créer des fichiers .mdb par programmation en utilisant Visual C++ version 4.x ou version ultérieure, consultez l'article suivant dans la base de connaissances Microsoft :
126606  (http://support.microsoft.com/kb/126606/EN-US/ ) Information : L'accès À CREATE_DB REPAIR_DB et COMPACT_DB
Un fichier .mdb est toujours requis pour configurer une source de données Microsoft Access à l'aide de l'administrateur ODBC (Open Database CONNECTIVITY) ou en configurant la source de données par programme. Impossible de créer un fichier .mdb en utilisant les classes de base de données MFC ou de l'interface de programmation d'application (API) ODBC.

Vous pouvez utiliser une des méthodes suivantes pour une application à configurer une source de données sur votre ordinateur :

  • Expédier et installez le fichier .mdb avec l'application.
  • Vérifiez le fichier .mdb dans une ressource définie par l'utilisateur. Ensuite, copiez le fichier .mdb au moment de l'exécution.
Cet article décrit la deuxième méthode, rendre le fichier .mdb dans une ressource définie par l'utilisateur.

Plus d'informations

Vous pouvez utiliser une ressource définie par l'utilisateur pour joindre les diverses données dans un fichier .exe. Si un fichier .mdb est transformée en une ressource, la ressource peut être chargée au moment de l'exécution et ensuite écrite dans un fichier .mdb. Les étapes requises pour ce faire sont les suivantes :

  1. Créer un fichier .mdb à l'aide de Microsoft Access ou de MS Query.
  2. Créer le fichier .mdb en tant que ressource définie par l'utilisateur en ajoutant la ligne suivante à votre fichier .rc :
          mdb_file  MDB_RESOURCE filename.mdb
    						
    où :
          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. Charger la ressource et écrivez-le dans un fichier .mdb. Vous pouvez utiliser la fonction suivante à partir de n'importe où dans votre application, pour créer le fichier .mdb. (Un emplacement standard pour créer le fichier .mdb serait la substitution de la fonction 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);
             }
          }
    						
L'un des inconvénients de cette méthode sont qu'il augmente la taille du fichier .exe conformément à la taille du fichier .mdb. Étant donné que même un fichier .mdb vide a une taille de 64 Ko, le fichier .exe est augmentée en au moins 64 Ko. Pour réduire la taille du fichier .exe consiste à stocker un fichier .mdb compressé sur le fichier .exe et développez lors de la mise en route du temps lors de la ressource de stockage.

Références

Pour plus d'informations sur les ressources définies par l'utilisateur, reportez-vous à l'aide du Kit de développement logiciel (SDK) Windows.

Pour plus d'informations sur la configuration par programme une source de données, consultez les articles suivants dans la base de connaissances Microsoft :
110507  (http://support.microsoft.com/kb/110507/EN-US/ ) Comment faire pour configurer des sources de données ODBC à la volée

110508  (http://support.microsoft.com/kb/110508/EN-US/ ) Comment faire pour créer des tables avec les classes de bases de données Foundation

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Foundation Class Library 4.2 sur le système suivant
    • Microsoft Visual C++ 1.5 Édition Professionnelle
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52 Édition Professionnelle
    • Microsoft Visual C++ 2.0 Édition Professionnelle
    • Microsoft Visual C++ 2.1
Mots-clés : 
kbmt kbdatabase kbhowto kbprogramming KB118609 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 118609  (http://support.microsoft.com/kb/118609/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Article KB retiré.Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store