วิธีการสร้างแฟ้มการ.MDB สำหรับฐานข้อมูล Microsoft Access

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 118609 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

หมายเหตุ: สำหรับข้อมูลเกี่ยวกับวิธีการสร้างแฟ้ม.MDB โดยทางโปรแกรมใช้ c ++ Visual รุ่น 4.x หรือในภายหลัง โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
126606ข้อมูล: เข้าถึง CREATE_DB, REPAIR_DB และ COMPACT_DB
แฟ้ม.mdb จำเป็นในการกำหนดค่าแหล่งข้อมูล Microsoft Access โดยใช้ระดับผู้ดูแลของการเชื่อมต่อฐานข้อมูลเปิด (ODBC) หรือ โดยการกำหนดค่าแหล่งข้อมูลโดยทางโปรแกรมเสมอ ไม่สามารถสร้างเป็นแฟ้ม.mdb โดยใช้ระดับชั้นของฐานข้อมูล MFC หรืออินเทอร์เฟซ ODBC โปรแกรมประยุกต์โปรแกรมสำหรับ (API)

คุณสามารถใช้วิธีการต่อไปนี้อย่างใดอย่างหนึ่งเพื่อให้โปรแกรมประยุกต์ที่กำหนดค่าแหล่งข้อมูลบนคอมพิวเตอร์ของคุณ:

  • จัดส่ง และการติดตั้งแฟ้ม.mdb พร้อมกับโปรแกรมประยุกต์
  • ทำให้แฟ้ม.mdb เป็นทรัพยากรที่กำหนดโดยผู้ใช้ คัดลอกแฟ้ม.mdb แล้ว ในขณะดำเนินการ
บทความนี้อธิบายวิธีการที่สอง การแปลงแฟ้ม.mdb เข้ากับผู้ใช้-กำหนดทรัพยากร

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

คุณสามารถใช้ทรัพยากรที่กำหนดโดยผู้ใช้แนบข้อมูลเบ็ดเตล็ดให้กับแฟ้ม.EXE ถ้าเป็นแฟ้ม.mdb ทำเป็นทรัพยากร ทรัพยากรสามารถถูกโหลดในขณะดำเนินการ และเขียนไปยังแฟ้ม.mdb ขั้นตอนที่จำเป็นต้องทำเช่นนี้เป็นดังนี้:

  1. สร้างแฟ้ม.mdb การอย่างใดอย่างหนึ่ง โดยใช้การเข้าถึงของ Microsoft หรือ MSQuery
  2. สร้างแฟ้ม.mdb เป็นทรัพยากรที่กำหนดโดยผู้ใช้ โดยการเพิ่มบรรทัดต่อไปนี้ของคุณแฟ้ม.RC:
          mdb_file  MDB_RESOURCE filename.mdb
    						
    โดย::
          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. โหลดทรัพยากร และเขียนนั้นออกไปยังแฟ้ม.mdb คุณสามารถใช้ฟังก์ชันต่อไปนี้ จากที่ใดก็ได้ในโปรแกรมประยุกต์ของคุณ การสร้างแฟ้ม.mdb (ตำแหน่งทั่วไปสำหรับการสร้างแฟ้ม.mdb จะแทนที่ของฟังก์ชัน 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);
             }
          }
    						
disadvantage หนึ่งของวิธีนี้มีให้เพิ่มขนาดของแฟ้ม.exe ตามขนาดของแฟ้ม.mdb เนื่องจากแม้แต่เป็นแฟ้ม.mdb ว่าง 64 กิโลขนาด .exe จะถูกเพิ่ม โดยอย่างน้อย 64 กิโล วิธีหนึ่งเพื่อลดขนาดของ.exe มี การเก็บแฟ้ม.mdb บีบอัดไว้บน.exe การขยายที่เรียกใช้เวลาเมื่อการจัดเก็บทรัพยากร

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

สำหรับข้อมูลเพิ่มเติมบนทรัพยากรที่กำหนดโดยผู้ใช้ อ้างอิงถึงวิธีใช้ Windows sdk ได้

สำหรับข้อมูลเพิ่มเติมในการกำหนดค่าแหล่งข้อมูลโดยทางโปรแกรม โปรดดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
110507วิธีการกำหนดค่าแหล่งข้อมูล ODBC ในแบบลอย

110508วิธีการสร้างตาราง โดยระดับชั้นฐานข้อมูลมูลฐาน

คุณสมบัติ

หมายเลขบทความ (Article ID): 118609 - รีวิวครั้งสุดท้าย: 6 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Foundation Class Library 4.2 เมื่อใช้กับ:
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.1
Keywords: 
kbdatabase kbhowto kbprogramming kbmt KB118609 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:118609
การปฏิเสธความรับผิดชอบในเนื้อหาของ 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