วิธีการกระชับฐานข้อมูล Microsoft Access ผ่าน ADO

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 230501
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

ถึงแม้ว่าข้อมูลจำเพาะของ ADO ไม่มีวัตถุการกระชับฐานข้อมูล Microsoft Access ความสามารถในการทำงานนี้สามารถได้รับ โดยใช้ส่วนขยายของ ADO: Microsoft Jet บริการ OLE DB และวัตถุที่จำลองแบบ (JRO) ได้ ความสามารถในการทำงานนี้ถูกนำมาใช้เป็นครั้งแรกในรุ่น JET OLE DB Provider 4.0 (Msjetoledb40.dll) และรุ่น JRO 2.1 (Msjro.dll) แฟ้ม DLL เหล่านี้จะพร้อมใช้งานหลังจากการติดตั้ง MDAC 2.1 คุณสามารถดาวน์โหลดรุ่นล่าสุดของ MDAC จากเว็บไซต์ต่อไปนี้:

ข้อมูลเพิ่มเติม

การกระชับฐานข้อมูล Access ที่ใช้ ADO, MDAC 2.1 หรือรุ่นที่ใหม่กว่าต้องติดอย่างถูกต้องตั้งบนคอมพิวเตอร์ ต่อไปนี้คือ ขั้นตอนการกระชับฐานข้อมูล Microsoft Access โดยใช้ Visual Basic และ c ++ภาพหลัก:

Visual Basic: การกระชับฐานข้อมูล Access ผ่าน ADO

  1. ใน Visual Basic IDE บนเมนูโครงการคลิกอ้างอิง
  2. เพิ่มMicrosoft Jet และไลบรารีการจำลองแบบวัตถุ X.Xที่ (X.X เป็นมากกว่า หรือเท่ากับ 2.1)
  3. เพิ่มบรรทัดต่อไปนี้ของรหัส Visual Basic แทนที่เส้นฐานข้อมูลต้นทางและปลายทางถ้าจำเป็นต้องใช้:
    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"
    					
หมายเหตุ: ใน DAO 3.60 วิธี RepairDatabase จะไม่พร้อมใช้งาน รหัสข้างต้นแสดงการใช้เมธอด CompactDatabase วิธีนี้แทนเมธอด DAO 3.5 RepairDatabase

Visual c ++: การกระชับฐานข้อมูล Access ผ่าน ADO

  1. เพิ่มคำสั่ง #import ในการสร้างคลา wrapper สำหรับ JRO เพื่อคลา.cpp ของคุณนอกเหนือจาก #import, Msado15.dll (MDAC2.1), ( อีกวิธีหนึ่งคือคุณสามารถสร้างคลา wrapper มีประสิทธิภาพมากขึ้น ด้วยการใช้แอตทริบิวต์ no_implementation และ implementation_only ของคำสั่ง pre-processor #import):
    #import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace 
    					
  2. เพิ่มต่อไปนี้ (ระบุพาธของฐานข้อมูลต้นทางและปลายทาง) ไปยังแฟ้ม.cpp ที่ที่คุณต้องการกระชับฐานข้อมูล:
    ...
    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) ;    
    }
    					
หมายเหตุ: ชนิด OLEDB:Engine Jet = 4 เป็นการเฉพาะสำหรับแฟ้ม MDB Jet 3.x รูปแบบ ถ้าค่านี้ถูกปล่อยออก ฐานข้อมูลถูกปรับรุ่นไปเป็นรุ่น 4.0 โดยอัตโนมัติ (Jet OLEDB:Engine ชนิด = 5) ดูตารางต่อไปนี้สำหรับค่าที่เหมาะสมสำหรับชนิดของ Jet OLEDB:Engine:
ยุบตารางนี้ขยายตารางนี้
ชนิด OLEDB:Engine jetX.x jet แฟ้ม MDB รูปแบบ
1JET10
2JET11
3JET2X
4JET3X
5JET4X

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ตัวเลือกต่อไปนี้ บทความในฐานความรู้ของ Microsoft:
230496 ฐานข้อมูล Microsoft Access กระชับโดยใช้ OLE DB

คุณสมบัติ

หมายเลขบทความ (Article ID): 230501 - รีวิวครั้งสุดท้าย: 16 พฤษภาคม 2555 - Revision: 3.0
Keywords: 
kbhowto kbjet kbprovider kbmt KB230501 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:230501
การปฏิเสธความรับผิดชอบในเนื้อหาของ KB ที่จะไม่มีการปรับปรุงอีกต่อไป
บทความนี้กล่าวถึงผลิตภัณฑ์ที่ Microsoft ไม่มีการสนับสนุนอีกต่อไป เนื้อหาของบทความจึงมีการนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก

ให้ข้อเสนอแนะ

 

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