DetailPage-MSS-KB

Knowledge Base

Artikel ID: 118609 - Laatste beoordeling: dinsdag 10 juli 2012 - Wijziging: 6.0

 

Samenvatting

Opmerking: voor informatie over het maken.Programmacode met MDB-bestanden Visual C++ versie 4.x of hoger, Zie het volgende artikel in de Microsoft Knowledge Base:
126606  (http://support.microsoft.com/kb/126606/EN-US/ ) INFO: Toegang tot CREATE_DB en REPAIR_DB mislukt COMPACT_DB
Een mdb-bestand is altijd vereist een Microsoft Access-gegevensbron configureren met behulp van de Open Database Connectivity (ODBC)-beheerder of door de gegevensbron programmatisch wilt configureren. Een mdb-bestand kan niet worden gemaakt met de Database MFC-klassen of de ODBC-toepassing programming interface (API).

U kunt een van de volgende methoden om een toepassing configureren een de gegevensbron van de op uw computer:

  • Verzend- en MDB-bestand met de toepassing installeren.
  • Het mdb-bestand maken in een door de gebruiker gedefinieerde resource in. Kopieer vervolgens het .mdb het bestand bij uitvoering.
Dit artikel wordt beschreven in de tweede methode, waardoor het mdb-bestand naar een gebruiker- resource gedefinieerd.

Meer informatie

Kunt u een zelfgedefinieerde resource diverse gegevens koppelt een.EXE het bestand. Als u een mdb-bestand naar een resource, kan de resource worden geladen tijdens runtime en vervolgens naar een mdb-bestand geschreven. De hiervoor vereiste stappen zijn als volgt:

  1. Maak een mdb-bestand met Microsoft Access of MSQuery.
  2. Het mdb-bestand maken als een gebruiker gedefinieerd door de volgende regel voor uw.RC bestand:
          mdb_file  MDB_RESOURCE filename.mdb
    						
    waar:
          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. Laden van de resource en schrijft het naar een mdb-bestand. U kunt de volgende functie uit overal in uw toepassing maken op de MDB-bestand. (Een typische plaats voor het maken van het .mdb-bestand zou zijn de overschrijven van de functie 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);
             }
          }
    						
Een nadeel van deze methode is dat het de grootte van de exe-bestand aan de grootte van het mdb-bestand. Omdat zelfs een lege MDB-bestand is 64 kB in grootte, de exe wordt verhoogd met ten minste 64 K. U kunt Verminder de grootte van de .exe is voor het opslaan van een gecomprimeerd mdb-bestand naar de exe en daarop wordt uitgevoerd bij het opslaan van de resource tijd.

Referenties

Raadpleeg voor meer informatie over de gebruiker gedefinieerde resources de Windows SDK Help.

Voor meer informatie over het configureren van een gegevensbron via programmering Raadpleeg de volgende artikelen in de Microsoft Knowledge Base:
110507  (http://support.microsoft.com/kb/110507/EN-US/ ) Het configureren van ODBC-gegevensbronnen onderweg

110508  (http://support.microsoft.com/kb/110508/EN-US/ ) Tabellen maken met Database-Foundation-klassen

De informatie in dit artikel is van toepassing op:
  • Microsoft Foundation Class Library 4.2 op de volgende platformen
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.1
Trefwoorden: 
kbdatabase kbhowto kbprogramming kbmt KB118609 KbMtnl
Machine-translated ArticleMachine-translated Article
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende: 118609  (http://support.microsoft.com/kb/118609/en-us/ )
Ingetrokken KB-artikelVrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.
Delen
Extra ondersteuningsopties
Microsoft Community Support-forums
Neem rechtstreeks contact met ons op
Een door Microsoft gecertificeerde partner zoeken
Microsoft Store