Cum să compactați baza acoperire de date Microsoft Access prin ADO

Traduceri articole Traduceri articole
ID articol: 230501
Măriți totul | Reduceți totul

În această pagină

REZUMAT

De?i specifica?iile ADO nu oferă obiecte să compactați bazele acoperire de date Microsoft Access, această capacitate poate fi realizată utilizând extinderea ADO: Microsoft Jet OLE DB Provider and Replication Objects (JRO). Această capacitate a fost implementat pentru prima dată în JET OLE DB Provider versiunea 4.0 (Msjetoledb40.dll) și JRO traducere 2.1 (Msjro.dll). Aceste fișiere DLL sunt disponibile după a instala MDAC 2.1. Puteți descărca cea mai recentă versiune de MDAC din următorul site Web:
Universal date acces Web site-ul

INFORMAȚII SUPLIMENTARE

La compactarea unei baze acoperire de date Access utilizând ADO, MDAC 2.1 sau o versiune ulterioară trebuie să fie instalat corect pe computer. Măsurile principale să compactați o bază acoperire de date Microsoft Access utilizând Visual Basic și Visual C++ sunt următoarele:

Visual Basic: Compactarea unei baze acoperire de date Access via ADO

  1. În IDE Visual Basic, în meniul de proiecte , faceți clic pe referințe.
  2. Adăugați Microsoft Jet și biblioteca de X.X de obiecte replicare, în cazul în care (X.X este mai mare sau egal cu 2.1).
  3. Adăugați următoarele linii de cod Visual Basic, înlocuind sursă și destinație date căi acoperire de date, dacă este necesar:
    Dim jro As jro.JetEngine
    Set jro = New jro.JetEngine
    jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nwind2.mdb;Jet OLEDB:Database Password=test", _ 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abbc2.mdb;Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test"
    					
Notă: În DAO 3.60, metoda RepairDatabase nu mai este disponibil. Codul de mai sus afișează utilizarea de metoda CompactDatabase. Această metodă înlocuiește metoda DAO 3.5 RepairDatabase.

Visual C++: Compactarea unei baze acoperire de date Access via ADO

  1. Pe lângă #import, Msado15.dll (MDAC2.1), se adaugă următoarea declarație #import pentru a genera clasele înveliș pentru JRO dumneavoastră .cpp clase (alternativ, puteți genera clasele înveliș mai eficient utilizând atributele no_implementation și implementation_only din situația pre-processor #import):
    #import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace 
    					
  2. Adăugați următoarele (precizând propriul căi acoperire de date sursă și destinație) la fișierul .cpp în cazul în care doriți să compactați baza de date:
    ...
    try
    {
       IJetEnginePtr jet(__uuidof(JetEngine));
      jet->CompactDatabase( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\nwind2.mdb;Jet OLEDB:Database Password=test", 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc.mdb;" \ 
    "Jet OLEDB:Engine Type=4;Jet OLEDB:Database Password=test");
    }
    catch(_com_error &e) 
    {       
       ::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;    
    }
    					
Notă: Tipul OLEDB:Engine Jet = 4 este numai pentru fișierele MDB Jet 3.x format. În cazul în care această valoare este lăsat pe dinafară, baza acoperire de date este actualizat automat la versiunea 4.0 (Jet OLEDB:Engine tip = 5). A se vedea tabelul următor pentru valorile corespunzătoare pentru Jet OLEDB:Engine tip:
Reduceți tabelulMăriți tabelul
Tipul de OLEDB:Engine JetJet x.x fișiere în Format MDB
1JET10
2JET11
3JET2X
4JET3X
5JET4X

REFERINȚE

Pentru informații suplimentare, vă rugăm să consultați următoarele articolul în bază de cunoștințe Microsoft:
230496 Compactare bază acoperire de date Microsoft Access prin intermediul OLE DB

Proprietă?i

ID articol: 230501 - Ultima examinare: 16 mai 2012 - Revizie: 1.0
Cuvinte cheie: 
kbhowto kbjet kbprovider kbmt KB230501 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol:230501
Exonerare de răspundere pentru conținutul din Baza de cunoștințe referitor la produse cu suport retras
Acest articol se referă la produsele pentru care Microsoft nu mai oferă asistență. De aceea, acest articol se oferă astfel și nu se va mai actualiza.

Trimite?i feedback

 

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