Cara memadatkan Microsoft Access Database melalui ADO

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 230501
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Meskipun ADO spesifikasi tidak menyediakan objek untuk kompak Microsoft Access database, kemampuan ini dapat dicapai dengan menggunakan ADO ekstensi: Microsoft Jet OLE penyedia DB dan replikasi objek (JRO). Kemampuan ini dilaksanakan untuk pertama kalinya di JET OLE penyedia DB versi 4.0 (Msjetoledb40.dll) dan JRO versi 2.1 (Msjro.dll). Berkas DLL tersedia setelah menginstal MDAC 2.1. Anda dapat men-download versi terbaru dari MDAC dari situs web berikut:
Universal Data akses situs web

INFORMASI LEBIH LANJUT

Untuk kompak database Access menggunakan ADO, MDAC 2,1 atau kemudian harus benar terpasang pada komputer. Berikut ini adalah langkah-langkah utama untuk kompak Microsoft Access database menggunakan Visual Basic and Visual c ++:

Visual Basic: Pemadatan Database Access melalui ADO

  1. Dalam IDE Visual Basic, pada menu proyek , klik referensi.
  2. Tambahkan Microsoft Jet dan replikasi objek X.X perpustakaan, di mana (X.X lebih besar dari atau sama dengan 2.1).
  3. Tambahkan baris berikut kode Visual Basic, menggantikan sumber dan tujuan database garis jatuh berseri data jika diperlukan:
    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"
    					
Catatan: Dalam DAO 3,60, RepairDatabase metode ini tidak lagi tersedia. Kode di atas menunjukkan penggunaan metode CompactDatabase. Metode ini menggantikan metode DAO 3.5 RepairDatabase.

Visual c ++: Pemadatan Database Access melalui ADO

  1. Selain #import, Msado15.dll (MDAC2.1), menambahkan pernyataan #import berikut untuk menghasilkan wrapper kelas untuk JRO untuk kelas .cpp Anda (atau, Anda dapat menghasilkan wrapper kelas lebih efisien dengan menggunakan atribut no_implementation dan implementation_only #import pre-processor pernyataan):
    #import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace 
    					
  2. Tambahkan baris berikut (menentukan garis jatuh berseri database Anda sendiri sumber dan tujuan) untuk berkas .cpp di mana Anda ingin kompak database:
    ...
    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) ;    
    }
    					
Catatan: Jet OLEDB:Engine Type = 4 adalah hanya untuk Jet 3.x MDB format berkas. Jika nilai ini dibiarkan keluar, database secara otomatis upgrade ke versi 4.0 (Jet OLEDB:Engine Type = 5). Lihat Daftar Tabel berikut untuk nilai-nilai yang sesuai untuk Jet OLEDB:Engine jenis:
Perkecil tabel iniPerbesar tabel ini
Jet OLEDB:Engine jenisJet x.x Format file MDB
1JET10
2JET11
3JET2X
4JET3X
5JET4X

REFERENSI

Untuk informasi tambahan, silakan lihat berikut artikel di dalam Pangkalan Pengetahuan Microsoft:
230496 Peringkasan Microsoft Access database melalui OLE DB

Properti

ID Artikel: 230501 - Kajian Terakhir: 16 Mei 2012 - Revisi: 3.0
Kata kunci: 
kbhowto kbjet kbprovider kbmt KB230501 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:230501
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.

Berikan Masukan

 

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