အကျင့်ပျက် DBF ဖိုင်သည် စာရင်းကိုင်စနစ်များ၊ ကုန်ပစ္စည်းဒေတာဘေ့စ်များနှင့် CRM အပလီကေးရှင်းများကို ရပ်တန့်စေနိုင်သည်။ ဤလမ်းညွှန်ချက်သည် ပြုပြင်ရန် လက်တွေ့ကျသောနည်းလမ်းတိုင်းကို လွှမ်းခြုံထားသည်။ DBF ဖိုင်၊ ရိုးရှင်းသော ဆက်စပ်ဖိုင်စစ်ဆေးမှုများမှသည် အနည်းဆုံးမှ အများဆုံးကျူးကျော်မှုအထိ အစီအစဉ်တကျ စီစဉ်ထားသည်။
1 ။ နိဒါန်း
1.1 ဆိုသည်မှာ အဘယ်နည်း DBF ဖိုင်?
A DBF ဖိုင်သည် မူလက dBASE အတွက် တီထွင်ခဲ့ပြီး နောက်ပိုင်းတွင် FoxPro၊ Clipper၊ Visual FoxPro နှင့် အခြား legacy business application အများအပြားမှ လက်ခံကျင့်သုံးခဲ့သော ဖွဲ့စည်းတည်ဆောက်ထားသော ဇယားပါ database ဖိုင်ပုံစံတစ်ခုဖြစ်ပြီး အကောင့်မှတ်တမ်းများ၊ ကုန်ပစ္စည်းစာရင်းဇယားများနှင့် ဖောက်သည်ဒေတာများအတွက် အသုံးများသည်။
A DBF ဒေတာဘေ့စ်တွင် ပုံမှန်အားဖြင့် တွဲဖက်ဖိုင်များစွာ ပါဝင်လေ့ရှိသည်-
- .cdx / .idxမှတ်တမ်းရှာဖွေမှုများကို အရှိန်မြှင့်ပေးသည့် ပေါင်းစပ်နှင့် တစ်ခုတည်းသော အညွှန်းဖိုင်များ။
- .fpt / .dbt: အဓိကဇယားမှ ရည်ညွှန်းထားသော variable-length စာသား သို့မဟုတ် binary data များကို သိမ်းဆည်းသည့် Memo field ဖိုင်များ။
- .dbc: Visual FoxPro မှ ဆက်စပ်ဇယားများ၊ မြင်ကွင်းများနှင့် stored procedure များကို ချိတ်ဆက်ရန်အသုံးပြုသော database container ဖိုင်။
1.2 သင်၏ လက္ခဏာများ DBF ဖိုင်ပျက်စီးနေသည်
အောက်ပါလက္ခဏာများသည် လက္ခဏာတစ်ရပ်ကို ညွှန်ပြသည် DBF ဖိုင်ပျက်စီးနေနိုင်ပြီး ပြုပြင်ရန် လိုအပ်နိုင်သည်-
- "ဇယားတစ်ခုမဟုတ်ပါ" အမှား: အပလီကေးရှင်းသည် ဖိုင်ခေါင်းစီး၏ ပထမ byte ကို တရားဝင်အဖြစ် မမှတ်မိပါ။ DBF ဗားရှင်းအမှတ်အသား။
- "ဖိုင်သည် ဒေတာဘေ့စ်မဟုတ်ပါ" အမှား: ဖိုင်ခေါင်းစီးဖွဲ့စည်းပုံကို ဖတ်၍မရပါ သို့မဟုတ် အစားထိုးရေးသားထားပါသည်။
- အပလီကေးရှင်းဖွင့်ထားစဉ် ပျက်သွားခြင်း: ဖိုင်ကို တင်ရန်ကြိုးစားသည့်အခါ host program ရပ်တန့်သွားသည် သို့မဟုတ် ရပ်ဆိုင်းသွားသည်။
- မပီပြင်သော သို့မဟုတ် ပျောက်ဆုံးနေသော မှတ်တမ်းများ: အတန်းများတွင် မှားယွင်းသော အက္ခရာများကို ပြသထားသည်၊ ဖြတ်တောက်ထားသော တန်ဖိုးများ သို့မဟုတ် လုံးဝမရှိပါ။
- မှတ်တမ်းအရေအတွက် မမှန်ကန်ခြင်းအပလီကေးရှင်းမှ အစီရင်ခံထားသော မှတ်တမ်းအရေအတွက်သည် ဖိုင်ရှိ တကယ့်အတန်းအရေအတွက်နှင့် မကိုက်ညီပါ။
- အညွှန်းအမှားများ: အပလီကေးရှင်းသည် အညွှန်းကိန်း မကိုက်ညီမှုများကို အစီရင်ခံသည် သို့မဟုတ် ရှိသင့်သည့် မှတ်တမ်းများကို ရှာဖွေရန် ပျက်ကွက်သည်။
- သုညဘိုက် သို့မဟုတ် ပုံမှန်မဟုတ်သော ဖိုင်အရွယ်အစား: ရေးသားခြင်းလုပ်ဆောင်ချက် အနှောင့်အယှက်ဖြစ်ခြင်းကြောင့် ဖိုင်၏ အကြောင်းအရာ ဆုံးရှုံးသွားသည်။
1.3 ၏ အဖြစ်များသော အကြောင်းရင်းများ DBF ဖိုင်လ္ပ
- မှားယွင်းစွာ ပိတ်ခြင်းနှင့် ဓာတ်အားပြတ်တောက်ခြင်းဖိုင်ဖွင့်ထားစဉ် ပါဝါပြတ်တောက်ခြင်း သို့မဟုတ် အတင်းအကျပ် reboot လုပ်ခြင်းသည် ရေးသားခြင်းလုပ်ဆောင်ချက်ကို အနှောင့်အယှက်ဖြစ်စေပြီး ဖိုင်ကို မတည်မငြိမ်ဖြစ်စေသည်။
- အသုံးပြုသူများစွာ ဝင်ရောက်ခွင့် ပဋိပက္ခများ: အသုံးပြုသူများစွာသည် တစ်ခုတည်းကို ဖွင့်ပြီး ရေးသားကြသည် DBF ကွန်ရက်ပေါ်တွင် ဖိုင်တစ်ခုကို တစ်ပြိုင်နက်တည်း သိမ်းဆည်းခြင်းသည် ဒေတာမှတ်တမ်းများနှင့် အညွှန်းဖိုင်များ နှစ်မျိုးလုံးကို ပျက်စီးစေနိုင်သည်။
- အညွှန်းဖိုင်ပျက်စီးမှု: ပျောက်ဆုံးနေ သို့မဟုတ် ပျက်စီးနေပါသည် .cdx / .idx အဓိကဒေတာမှတ်တမ်းများ မပျက်မစီးရှိနေသည့်တိုင် ဖိုင်များသည် ဒေတာဘေ့စ်ကို ပျက်စီးနေပုံပေါ်စေသည်။
- ဖျက်လိုက်သော မှတ်တမ်းများ စုဆောင်းခြင်းနှင့် အပိုင်းပိုင်းကွဲခြင်း: ဖျက်ရန် အလံပြထားသော်လည်း ရုပ်ပိုင်းဆိုင်ရာ မဖယ်ရှားသည့် မှတ်တမ်းများသည် အချိန်ကြာလာသည်နှင့်အမျှ စုပုံလာပြီး ဖွဲ့စည်းပုံဆိုင်ရာ မညီညွတ်မှုများကို ဖြစ်ပေါ်စေနိုင်သည်။
- ဆော့ဖ်ဝဲလ် ပျက်သွားခြင်းနှင့် ဗိုင်းရပ်စ်တိုက်ခိုက်မှုများရေးသွင်းခြင်းလုပ်ဆောင်ချက်အတွင်း အပလီကေးရှင်းပျက်စီးခြင်း သို့မဟုတ် ဖိုင်ဘိုက်များကို overwrite လုပ်သည့် malware သည် header၊ field descriptors သို့မဟုတ် data record များကို ပျက်စီးစေနိုင်သည်။
၂။ ပြုပြင်ခြင်းမပြုမီ- မရှိမဖြစ်လိုအပ်သော ပထမခြေလှမ်းများ
ပျက်စီးမှုကို ပိုဆိုးစေခြင်း သို့မဟုတ် ဒေတာများ အပြီးတိုင်ဆုံးရှုံးခြင်းမှ ကာကွယ်ရန် မည်သည့်ပြုပြင်မှုနည်းလမ်းကိုမဆို မကြိုးစားမီ ဤအဆင့်နှစ်ဆင့်ကို လုပ်ဆောင်ပါ။
၂.၁ ဖိုင်ကို ထပ်ခါတလဲလဲ ဖွင့်ခြင်းကို ရပ်တန့်ပါ
အပလီကေးရှင်းတစ်ခုသည် ပျက်စီးနေသော အရာတစ်ခုကို တင်ရန် ကြိုးစားတိုင်း DBF ဖိုင်ပျက်စီးနေပါက ဖိုင်ထဲသို့ နောက်ထပ်ဒေတာများ ရေးသားနိုင်သည် သို့မဟုတ် header ကို အပ်ဒိတ်လုပ်နိုင်ပြီး ပျက်စီးမှုကို ပိုဆိုးစေနိုင်သည်။ ဖိုင်ပျက်စီးနေသည်ဟု သံသယရှိသည်နှင့် ဖွင့်ခြင်းကို ရပ်တန့်ပါ။
၂.၂ အရန်ကူးယူမှုမိတ္တူတစ်ခု ဖန်တီးပါ
အခြားဘာမှမလုပ်မီ၊ ပျက်စီးနေသောဖိုင်ကိုကူးယူပြီးအမည်ပြောင်းပါ (ဥပမာ၊ ဖိုင်အမည်_အရန်ကူးယူခြင်း.dbf)။ မူရင်းကို ဘယ်တော့မှ မပြုပြင်ဘဲ မိတ္တူကို ပြုပြင်ရန် ကြိုးစားမှုတိုင်းကို လုပ်ဆောင်ပါ။ ပြုပြင်သည့်နည်းလမ်းတစ်ခုက ပြဿနာကို ပိုဆိုးစေပါက မထိရသေးသော မူရင်းမှ ပြန်စနိုင်သည်။
ထို့အပြင်၊ တွဲဖက်ဖိုင်အားလုံးကို အရန်ကူးယူပါ (.cdx, .idx, .fpt, .dbt) အဓိကအချက်နှင့်အတူ .dbf ဖိုင်။
၃။ နည်းလမ်း ၁: ဆက်စပ်ဖိုင်များကို စစ်ဆေးပြီး ပြန်လည်ရယူပါ
ထင်ရှားစွာ DBF ပျက်စီးမှုများသည် အမှန်တကယ်တွင် ပျောက်ဆုံးနေသော သို့မဟုတ် မကိုက်ညီသော တွဲဖက်ဖိုင်များကြောင့် ဖြစ်ပွားလေ့ရှိသည်။ ဖိုင်အဆင့်ပြုပြင်မှုမပြုလုပ်မီ ၎င်းတို့ကို စစ်ဆေးပါ။
၃.၁ ပျောက်ဆုံးနေသော အညွှန်းဖိုင်များ (.cdx / .idx) ကို ရှာဖွေဖော်ထုတ်ပါ။
ပါဝင်တဲ့ folder ကိုဖွင့်ပါ .dbf ဖိုင်တွဲပြီး မျှော်လင့်ထားတဲ့ index ဖိုင်အားလုံး ရှိနေကြောင်း အတည်ပြုပါ။ Visual FoxPro table တစ်ခု အမည်ရှိ အမိန့်.dbfဥပမာအားဖြင့်၊ များသောအားဖြင့် အဖော်တစ်ဦးရှိသည် အော်ဒါများ.cdx။ အညွှန်းဖိုင်မရှိပါက ဒေတာကိုယ်တိုင်က ကောင်းမွန်စွာရှိနေသော်လည်း အပလီကေးရှင်းသည် အမှားအယွင်းများကို သတင်းပို့ပါလိမ့်မည်။
၃.၂ ပျောက်ဆုံးနေသော မှတ်စုဖိုင်များ (.dbt / .fpt) ကို ရှာဖွေဖော်ထုတ်ပါ။
ဇယားတွင် မှတ်စုအကွက်များပါရှိပါက ၎င်း၏ မှတ်စုဖိုင် (.fpt Visual FoxPro အတွက် .dbt dBASE III/IV အတွက်) သည် တူညီသောဖိုင်တွဲတွင် ရှိနေရမည်။ ပျောက်ဆုံးနေသော မှတ်စုဖိုင်သည် မှတ်တမ်း၏ ကျန်အပိုင်းများ မပျက်စီးသည့်တိုင် မှတ်စုတန်ဖိုးကို ရည်ညွှန်းသည့် မည်သည့်မှတ်တမ်းအတွက်မဆို ဖတ်ရှုမှုအမှားများကို ဖြစ်စေသည်။
၃.၃ ပျောက်ဆုံးနေသော ဖိုင်များကို ပြန်လည်တည်ဆောက်ခြင်း
index ဖိုင်များ ပျောက်ဆုံးနေပါက အောက်ပါတို့ကို အသုံးပြု၍ ပြန်လည်တည်ဆောက်ပါ။ REINDEX command။ မှတ်စုဖိုင်များ ပျောက်ဆုံးနေပြီး အရန်ကူးယူထားခြင်း မရှိပါက၊ ထိုမှတ်တမ်းများအတွက် မှတ်စုအကွက်ဒေတာကို ပြန်လည်ရယူနိုင်မည်မဟုတ်သော်လည်း မှတ်စုမဟုတ်သော အကွက်များကို သုံးပြီး header မှ မှတ်စုဖိုင်ရည်ညွှန်းချက်ကို ဖယ်ရှားပြီးနောက် ဇယားကိုဖွင့်ခြင်းဖြင့် ဝင်ရောက်ကြည့်ရှုနိုင်ပါသည်။ hex editor ကို.
၄။ နည်းလမ်း ၂: ဒေတာဘေ့စ် အသုံးအဆောင် အမိန့်များ (FoxPro / dBASE) ကို အသုံးပြုပါ
Visual FoxPro သို့မဟုတ် dBASE ကို အသုံးပြုခွင့်ရှိပါက ၎င်းတို့တွင် အဖြစ်များသော ပျက်စီးမှုအမျိုးမျိုးကို ပြုပြင်ပေးနိုင်သည့် built-in command များပါရှိသည်။
၄.၁ ဖိုင်ကို Exclusive Mode တွင်ဖွင့်ပါ
exclusive mode မှာ file ကိုဖွင့်ခြင်းအားဖြင့် read/write control အပြည့်အဝရရှိစေပြီး repair command တစ်ခုခုကို run ခင်မှာ လိုအပ်ပါတယ်။ Visual FoxPro Command Window မှာ အောက်ပါအတိုင်းရိုက်ထည့်ပါ။
USE yourfile.dbf EXCLUSIVE
ဖိုင်ကို အောင်မြင်စွာဖွင့်နိုင်ပါက မှတ်တမ်းဒေတာကို ဒေတာဘေ့စ်အသစ်သို့ ချက်ချင်းကူးယူခြင်းဖြင့် ဒေတာကို ပြန်လည်ရယူနိုင်သည်။
၄.၂ SET TABLEVALIDATE ဖြင့် ဇယား၏ သမာဓိကို အတည်ပြုပါ။
ပြင်ဆင်မှုများကို မပြုလုပ်မီ၊ အသုံးပြုပါ SET TABLEVALIDATE အဂတိလိုက်စားမှု အမှားများကို ဖော်ထုတ်ရန်-
SET TABLEVALIDATE 11
USE yourfile.dbf EXCLUSIVE
ဒီ command က Visual FoxPro ကို table ကိုဖွင့်တဲ့အခါ strict validation လုပ်ဖို့ ညွှန်ကြားပါတယ်။ ဒီအဆင့်မှာ ပြန်လာတဲ့ error message တွေက corruption ရဲ့ သဘောသဘာဝနဲ့ တည်နေရာကို ဖော်ထုတ်ပေးပါတယ်။
၄.၃ REINDEX ဖြင့် အညွှန်းများကို ပြန်လည်တည်ဆောက်ပါ
ဖိုင်ကို exclusive mode မှာဖွင့်ထားပြီး အောက်ပါတို့ကို လုပ်ဆောင်ပါ-
REINDEX
REINDEX ဖွင့်ထားသော DBF နှင့် ဆက်စပ်နေသော index ဖိုင်အားလုံးကို ပြန်လည်တည်ဆောက်ပေးသည်။ မှတ်တမ်းများ ပျောက်ဆုံးနေပုံပေါ်စေသည့် သို့မဟုတ် application မှ ဖိုင်ကို ဖတ်၍မရဟု အစီရင်ခံစေသည့် index နှင့် ဆက်စပ်သော ချို့ယွင်းချက်များကို ဖြေရှင်းပေးသည်။
၄.၄ PACK ဖြင့် ဇယားကို ဖိသိပ်ပါ
ဖိုင်ကို exclusive mode မှာဖွင့်ထားပြီး အောက်ပါတို့ကို လုပ်ဆောင်ပါ-
PACK
PACK ဖျက်ရန် အလံပြထားသော မှတ်တမ်းအားလုံးကို ရုပ်ပိုင်းဆိုင်ရာအရ ဖယ်ရှားပြီး ဖိုင်ကို ချုံ့ပေးသည်။ ၎င်းသည် ဖျက်လိုက်သော မှတ်တမ်းများ အလွန်အကျွံစုပုံလာခြင်းကြောင့် ဖြစ်ပေါ်လာသော ပြဿနာများကို ဖြေရှင်းပေးသည်။
သတိပေးခြင်း: PACK အလံပြထားသော မှတ်တမ်းများကို အပြီးအပိုင်နှင့် မပြန်နိုင်ဘဲ ဖျက်ပစ်သည်။ အရန်ကူးယူထားသော မိတ္တူတွင်သာ ၎င်းကို လုပ်ဆောင်ပါ။
၄.၅ PACK MEMO ဖြင့် Memo Field များကို ပြုပြင်ခြင်း
ဇယားတွင် memo field များပါရှိပါက၊ အောက်ပါ command ကို run ပါ။ PACK:
PACK MEMO
PACK MEMO မှတ်စုဖိုင်ကို ချုံ့သည် (.fpt / .dbt) အသုံးမပြုသော မှတ်စုဘလောက်များကို ဖယ်ရှားခြင်းနှင့် မှတ်စုဖိုင်နှင့် အဓိကဇယားအကြား အရွယ်အစား မကိုက်ညီမှုများကို ပြင်ဆင်ခြင်း။
သတိပေးခြင်း: PACK MEMO ဖျက်လိုက်သော မှတ်တမ်းများနှင့် အစားထိုးထားသော မှတ်စုတန်ဖိုးများ၏ မှတ်စုဒေတာကို ပြန်ဖျက်ရန် ရွေးချယ်ခွင့်မရှိဘဲ အပြီးအပိုင် စွန့်ပစ်သည်။ အရန်ကူးယူထားသော မိတ္တူတွင်သာ ၎င်းကို လုပ်ဆောင်ပါ။
၅။ နည်းလမ်း ၃: အခြားအပလီကေးရှင်းတစ်ခုတွင်ဖွင့်ပါ
တစ်ခါတစ်ရံတွင်၊ ပိုမိုသည်းခံနိုင်သော အပလီကေးရှင်းတစ်ခုတွင် ဖိုင်ကိုဖွင့်ခြင်းသည် မူလအပလီကေးရှင်းက ဖွင့်ရန်ငြင်းဆန်သည့်တိုင် ဒေတာကို ပြန်လည်ရယူနိုင်သည်။
၅.၁ LibreOffice Calc
LibreOffice Calc မှာ built-in dBASE import filter ပါရှိပြီး တစ်စိတ်တစ်ပိုင်းပျက်စီးနေတဲ့ ဖိုင်တွေ အများကြီးကနေ raw data တွေကို ဖတ်နိုင်ပါတယ်။ DBF ဖိုင်များ -
- ကိုသွားပါ ဖိုင်မှတ်တမ်း -> ဖွင့်လှစ် နှင့်ကို select .dbf ဖိုင်။ LibreOffice သည် စာလုံး encoding ကို ရွေးချယ်နိုင်သော import dialog တစ်ခုကို ပြသလိမ့်မည်။
- ဖိုင်တင်ပါက ဒေတာသည် spreadsheet တစ်ခုအဖြစ် ပေါ်လာသည်။ တစ်စိတ်တစ်ပိုင်းပျက်စီးနေသော ဖိုင်များပင် ဖတ်နိုင်သော မှတ်တမ်းများဖြင့် တင်လေ့ရှိသည်။
- ပြန်လည်ရယူထားသောဒေတာကို မှတစ်ဆင့် ထုတ်ယူပါ ဖိုင်မှတ်တမ်း -> Save အမျှ နှင့်ရှေးခယျြ စာသား CSV or Microsoft က Excel ကို format ချပြီးရင် ပြန်လုပ်ပါ DBF လိုအပ်ပါက ထုတ်ယူထားသောဒေတာမှ။
မှတ်စု: ဖွင့်တဲ့အခါ DBF Visual FoxPro မှ ဖန်တီးထားသော ဖိုင်များကို အသုံးပြုပါ။ 32-bit မှာ LibreOffice ၏ ဗားရှင်း။ Visual FoxPro ၏ ဖိုင်ဖော်မတ်သည် 64-bit ဗိသုကာကို မပံ့ပိုးသောကြောင့် 64-bit တည်ဆောက်မှုတွင် မှန်ကန်စွာ တင်၍မရပါ။
၅.၂ OpenOffice Calc
OpenOffice သည် LibreOffice နှင့်ဆင်တူသော်လည်း လုံခြုံရေးအားနည်းချက်များစွာရှိသည်။ LibreOffice ချို့ယွင်းမှသာ အသုံးပြုပါ။
5.3 DBF တပ်မှူး
DBF Commander သည် သီးသန့်ဆော့ဖ်ဝဲတစ်ခုဖြစ်သည်။ DBF ပိုမိုကျယ်ပြန့်သော အမျိုးအစားများကို ကိုင်တွယ်သော ကြည့်ရှုသူနှင့် အယ်ဒီတာ DBF အထွေထွေရည်ရွယ်ချက် အပလီကေးရှင်းများထက် လက်အောက်ခံဗားရှင်းများ-
- Download လုပ်ပြီးအင်စတောလုပ်ပါ DBF ကွန်မန်ဒါ၊ ပြီးရင် လွှတ်လိုက်ပါ။
- ကိုသွားပါ ဖိုင်မှတ်တမ်း -> ဖွင့်လှစ် နှင့် ပျက်စီးနေသောဖိုင်များကို တင်ပါ .dbf ဖိုင်။ DBF Commander သည် ဖိုင်ဖွဲ့စည်းပုံကို အလိုအလျောက် ခွဲခြမ်းစိတ်ဖြာပြီး load တွင် အသေးစား ပျက်စီးမှုများကို ပြင်ဆင်ရန် ကြိုးစားသည်။
- ဒေတာကို ဖတ်နိုင်လျှင် သွားပါ ဖိုင်မှတ်တမ်း -> Save အမျှ မူရင်း backup ကို သိမ်းဆည်းရန် ဖိုင်အမည်အသစ်တစ်ခုအောက်တွင် သိမ်းဆည်းပါ။
၅.၄ Xbase++
Xbase++ သည် အဆင့်မြင့် ဖွံ့ဖြိုးတိုးတက်ရေး ပတ်ဝန်းကျင်တစ်ခု ဖြစ်သည်။ DBF FoxPro သို့မဟုတ် dBASE ပတ်ဝန်းကျင်ဟောင်းများကို ပျက်စီးစေသော အဂတိလိုက်စားမှုအမျိုးအစားများကို ကိုင်တွယ်နိုင်သော တွဲဖက်အသုံးပြုနိုင်မှု-
- ပျက်စီးနေသောဖိုင်ကို တင်ပါ DBF Xbase++ ဖိုင်စီမံခန့်ခွဲမှုလုပ်ဆောင်ချက်များကို အသုံးပြု၍ ဖိုင်။
- အခြားကိရိယာများ မကိုင်တွယ်နိုင်သော ပျက်စီးနေသော အညွှန်းများနှင့် ဒေတာထည့်သွင်းမှု အမှားများကို ကိုင်တွယ်ဖြေရှင်းနိုင်သည့် built-in ရောဂါရှာဖွေရေးနှင့် ပြုပြင်မှု လုပ်ရိုးလုပ်စဉ်များကို လုပ်ဆောင်ပါ။
၆။ နည်းလမ်း ၄: Text/Hex Editors များဖြင့် ကိုယ်တိုင်ပြုပြင်ခြင်း
အထက်ပါနည်းလမ်းများ မအောင်မြင်သည့်အခါ စာသား သို့မဟုတ် hex editor များကို အသုံးပြု၍ ကိုယ်တိုင်စစ်ဆေးခြင်းဖြင့် raw file content ကို စစ်ဆေးခြင်း၊ data များကို ကူးယူခြင်းနှင့် အလုပ်လုပ်သော database တစ်ခုကို ပြန်လည်တည်ဆောက်ခြင်းတို့ကို ပြုလုပ်နိုင်ပါသည်။ ဤနည်းလမ်းတွင် ဂရုစိုက်မှုနှင့် အခြေခံနားလည်မှု လိုအပ်ပါသည်။ DBF ဖိုင်ဖွဲ့စည်းပုံ။
6.1 DBF အခြေခံဖွဲ့စည်းပုံခြုံငုံသုံးသပ်ချက်
A DBF ဖိုင်တွင် အစဉ်လိုက် အပိုင်းလေးပိုင်း ပါဝင်သည်-
- ဖိုင်ခေါင်းစီး (၃၂ ဘိုက်)ပထမ byte သည် ၎င်းကို ဖော်ထုတ်သည် DBF ဗားရှင်း (ဥပမာ၊
0x03မှတ်စုမပါဘဲ dBASE III အတွက်၊0x30Visual FoxPro အတွက်)။ Bytes 1–3 သည် နောက်ဆုံး အပ်ဒိတ်ရက်စွဲ (YY/MM/DD) ကို သိမ်းဆည်းသည်။ Bytes 4–7 သည် စုစုပေါင်း မှတ်တမ်းအရေအတွက်ကို 32-bit integer အဖြစ် သိမ်းဆည်းသည်။ Bytes 8–9 သည် header အရွယ်အစားကို bytes ဖြင့် သိမ်းဆည်းပြီး bytes 10–11 သည် fixed record အရွယ်အစားကို bytes ဖြင့် သိမ်းဆည်းသည်။ - လယ်ကွင်းဖော်ပြချက်အစု: header ပြီးနောက် ချက်ချင်းဆိုသလို field တစ်ခုလျှင် တစ်ခုစီပါရှိသော 32-byte entry များ၏ sequence။ entry တစ်ခုစီတွင် field name (bytes 0–10, null-padded)၊ field type (byte 11: C=Character, N=Numeric, D=Date, L=Logical, M=Memo)၊ field length (byte 16) နှင့် decimal count (byte 17) တို့ကို သိမ်းဆည်းသည်။ array ကို a ဖြင့် အဆုံးသတ်ထားသည်။
0x0Dဘိုက်။ - ဒေတာမှတ်တမ်းများ: header မှာသိမ်းဆည်းထားတဲ့ မှတ်တမ်းအရွယ်အစားနဲ့ တစ်ထပ်တည်းကျတဲ့ အကျယ်ရှိတဲ့ မှတ်တမ်းတွေပါ။ မှတ်တမ်းတစ်ခုစီရဲ့ ပထမဆုံး byte ဟာ deletion flag ပါ (
0x20= အသက်ဝင်သော မှတ်တမ်း၊0x2A= ဖျက်လိုက်သော မှတ်တမ်း)။ - EOF အမှတ်အသား: တစ်ဘိုက် (
0x1A) ဖိုင်၏အဆုံးကိုညွှန်ပြသည်။
၆.၂ ဖတ်ရှုနိုင်သောဒေတာရရှိရန် စာသားတည်းဖြတ်သူများကို အသုံးပြုပါ။
ဘာဖြစ်လို့လဲဆိုတော့ DBF သည် binary format တစ်ခုဖြစ်ပြီး text editor များက မ ဖိုင်ကို တိုက်ရိုက်တည်းဖြတ်ရန် အသုံးပြုနိုင်ပါသည်။ သို့သော်၊ ၎င်းတို့သည် ဒေတာဘေ့စ်အသစ်ကို ကူးယူပြီး ပြန်လည်တည်ဆောက်ရန် အသုံးပြုနိုင်သည့် ဖတ်နိုင်သော အပိုင်းများ — ဖီးလ်အမည်များနှင့် စာလုံးဒေတာမှတ်တမ်းများ — ကို ပြသနိုင်သည်။
အောက်တွင် အသုံးပြုနိုင်သော လူကြိုက်များသော text editor အချို့ကို ဖော်ပြထားပါသည်။
- မှတ်စုစာအုပ်++ (ဝင်းဒိုး): ပျက်စီးနေသောဖိုင်ကိုဖွင့်ပါ DBF Notepad++ မှာ ဖိုင်တွဲပါ။ field descriptor မှ field အမည်များ Array နှင့် data record များမှ character field တန်ဖိုးများကို binary content မှလွဲ၍ ဖတ်နိုင်သော ASCII text အဖြစ် မြင်နိုင်မည်ဖြစ်သည်။ field အမည်များ၊ အမျိုးအစားများနှင့် ပြန်လည်ရယူနိုင်သော data row များကို ဖော်ထုတ်ပြီး မှတ်သားထားပါ။
- ဗင် (Linux)ဖွင့်ပါ DBF ဖိုင်တွဲ
vim -b yourfile.dbfbinary mode ထဲဝင်ရန်။ အသုံးပြုပါ။ / သိရှိထားသော field name များ သို့မဟုတ် data string များကို ရှာဖွေရန်။ Vim ၏ search နှင့် replace ကို မှတ်တမ်းများတစ်လျှောက်တွင် တသမတ်တည်း မမှန်ကန်သော တန်ဖိုး၏ ဖြစ်ပျက်မှုအားလုံးကို ရှာဖွေရန်လည်း အသုံးပြုနိုင်သည်။
ဖတ်နိုင်သော field descriptor များနှင့် data record များကို ဖော်ထုတ်ပြီးသည်နှင့် dBASE သို့မဟုတ် Visual FoxPro တွင် table structure ကို ပြန်လည်ဖန်တီးရန်နှင့် salvo လုပ်ထားသော record များကို file အသစ်ထဲသို့ ကိုယ်တိုင်ပြန်လည်ထည့်သွင်းရန် သို့မဟုတ် paste ပြုလုပ်ရန် ထိုအချက်အလက်ကို အသုံးပြုပါ။ text editor မှ မူရင်း binary file ကို ပြင်ရန် မကြိုးစားပါနှင့် - ထိုသို့ပြုလုပ်ခြင်းသည် ၎င်းကို ပိုမိုပျက်စီးစေမည်မှာ သေချာပါသည်။
၆.၃ ဒေတာများကို ကိုယ်တိုင်ပြုပြင်ရန် သို့မဟုတ် ပြန်လည်တည်ဆောက်ရန် Hex Editor ကို အသုံးပြုပါ။
hex editor သည် byte-level access ကို ပေးစွမ်းနိုင်သော ပိုမိုပရော်ဖက်ရှင်နယ် tool တစ်ခုဖြစ်သည်။ DBF ဖိုင်ကို တိုက်ရိုက်ပြုပြင်ခြင်းနှင့် ယုံကြည်စိတ်ချရသော ဒေတာထုတ်ယူခြင်း နှစ်မျိုးလုံးကို ဖွင့်ပေးပါသည်။
၆.၃.၁ အသုံးများသော Hex တည်းဖြတ်သူများ
အောက်ပါ hex editor များသည် သင့်လျော်ပါသည်- DBF ပြုပြင်ရေးလုပ်ငန်း:
- VFP တွင် ပါရှိသော HexEditVisual FoxPro အတွင်းမှာ ရနိုင်ပါတယ်။ Command Window မှာ execute လုပ်ပါ
DO HOME() + "Tools\HexEdit\HexEdit.app", ထို့နောက်ကို select DBF တောင်းဆိုလာသည့်အခါ ဖိုင်ကိုဖွင့်ပါ။ သီးခြားထည့်သွင်းရန် မလိုအပ်ပါ။ - WinHex: template support ပါရှိသော Windows အတွက် professional-grade hex editor တစ်ခုဖြစ်ပြီး map လုပ်ရန် ခွင့်ပြုသည် DBF header field များကို အမြင်အာရုံဖြင့် ကြည့်ရှုနိုင်ပါသည်။
- UltraEdit: ဖိုင်ကြီးများကို ကိုင်တွယ်ပြီး ကော်လံရွေးချယ်မှုကို ပံ့ပိုးပေးသည့် hex mode ပါရှိသော cross-platform editor တစ်ခု၊ data record များ၏ block များကို ကူးယူရာတွင် အသုံးဝင်သည်။
၆.၃.၂ လက်စွဲ ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် ပြုပြင်ခြင်း
၏ အရန်ကူးယူထားသော မိတ္တူကို ဖွင့်ပါ DBF hex editor ထဲမှာ ဖိုင်ထည့်ပြီး အောက်ပါ စစ်ဆေးမှုအစီအစဉ်ကို လုပ်ဆောင်ပါ။
- header ရဲ့ ပထမဆုံး byte အတော်များများကို စစ်ဆေးပါ- ဖိုင်အမျိုးအစား byte (byte 0)၊ နောက်ဆုံး အပ်ဒိတ်လုပ်တဲ့ရက်စွဲ (byte 1–3)၊ မှတ်တမ်းအရေအတွက် (byte 4–7)၊ header အရွယ်အစား (byte 8–9) နဲ့ မှတ်တမ်းအရွယ်အစား (byte 10–11) တို့ကို အတည်ပြုပါ။ header ပျက်စီးမှုကို ရှာဖွေဖို့ မှတ်တမ်းအရေအတွက်နဲ့ မှတ်တမ်းအရွယ်အစားကို တကယ့်ဖိုင်အရွယ်အစားနဲ့ အပြန်အလှန်စစ်ဆေးပါ။
- ဘိုက် ၃၂ မှစတင်သော field descriptor array ကို စစ်ဆေးပါ- ၃၂ ဘိုက် entry တိုင်းတွင် တရားဝင် field name၊ အသိအမှတ်ပြုထားသော type character၊ သုညမဟုတ်သော field length ပါဝင်ကြောင်းနှင့် array သည် a ဖြင့် အဆုံးသတ်ကြောင်း အတည်ပြုပါ-
0x0Dဘိုက်။ - header size ဖြင့်ညွှန်ပြထားသော offset မှစတင်သော data မှတ်တမ်းများကို စစ်ဆေးပါ- မှတ်တမ်းတစ်ခုစီသည် deletion flag ဖြင့်စတင်ကြောင်း အတည်ပြုပါ (
0x20or0x2A) နှင့် မှတ်တမ်းအရှည်သည် header ရှိ တန်ဖိုးနှင့် ကိုက်ညီသည်။ - ပျက်စီးမှုသည် header၊ field descriptor array သို့မဟုတ် data records တွင်ရှိမရှိ ဆုံးဖြတ်ပါ။ ၎င်းသည် မည်သည့်ပြန်လည်တည်ဆောက်မှုဗျူဟာကို အသုံးချရမည်ကို ဆုံးဖြတ်ပေးသည်။
- မှတ်တမ်းအရေအတွက် မမှန်ကန်ခြင်း သို့မဟုတ် ပျက်စီးနေသော byte တစ်ခုတည်းကဲ့သို့သော အသေးစားပျက်စီးမှုများအတွက် hex editor တွင် တန်ဖိုးကို တိုက်ရိုက်ပြင်ဆင်ပြီး ဖိုင်ကို save လုပ်ပါ။
အောက်တွင် နမူနာတစ်ခုဖြစ်သည်။ DBF ဖိုင်ကို hex editor တွင်ဖွင့်ထားသည်-
၆.၃.၃ ကိုယ်တိုင်ပြန်လည်တည်ဆောက်ပါ DBF ဖိုင်မှတ်တမ်း
ပျက်စီးမှုသည် နေရာတကျပြုပြင်ရန် အလွန်ပြင်းထန်သောအခါ၊ အသစ်ဖန်တီးထားသောဖိုင်သို့ မပျက်စီးသေးသောဒေတာမှတ်တမ်းများကို လွှဲပြောင်းခြင်းဖြင့် ဒေတာဘေ့စ်ကို ပြန်လည်တည်ဆောက်ပါ-
- dBASE သို့မဟုတ် Visual FoxPro ကိုဖွင့်ပြီး အသစ်တစ်ခုဖန်တီးပါ။ DBF ဖိုင်။
- hex စစ်ဆေးခြင်းအတွင်း ဖော်ထုတ်ထားသော field descriptors များ သို့မဟုတ် မူရင်းကို ဖန်တီးခဲ့သော DBA ကဲ့သို့သော အခြားရင်းမြစ်များကို အသုံးပြု၍ မူရင်းဒေတာဘေ့စ်နှင့် တူညီသော အမည်များနှင့် data အမျိုးအစားများဖြင့် field များကို ဖန်တီးပါ။
- hex editor မှာ၊ အဟောင်းကနေ ကျန်ရှိနေတဲ့ data record တွေကို select လုပ်ပြီး copy လုပ်ပါ။ DBF ဖိုင်။
- ကူးယူထားသော ဒေတာမှတ်တမ်းများကို အသစ်၏ သက်ဆိုင်ရာ offset ထဲသို့ ကူးထည့်ပါ DBF ဖိုင်။
- ကူးထည့်ထားသော ဒေတာမှတ်တမ်းများတွင် မြင်သာသော ပျက်စီးမှုများကို ကိုယ်တိုင်ပြင်ဆင်ပါ၊ ဥပမာ ဖျက်ရန်မှားယွင်းနေသော အလံများ သို့မဟုတ် ဖြတ်တောက်ထားသော အကွက်တန်ဖိုးများ။
- hex မိတ္တူမှ ပြန်လည်ရယူနိုင်ခြင်းမရှိသော ဒေတာမှတ်တမ်းများကို ကိုယ်တိုင်ပြန်လည်ထည့်သွင်းပါ။
- အသစ်ကို သိမ်းဆည်းပါ DBF မှတ်တမ်းအားလုံး မှန်ကန်စွာ load လုပ်ကြောင်း အတည်ပြုရန် ဖိုင်ကို Visual FoxPro သို့မဟုတ် dBASE တွင် ဖွင့်ပါ။
၇။ နည်းလမ်း ၅: ပရိုဂရမ်းမင်းဘာသာစကားများဖြင့် ပြုပြင်ခြင်း
ပရိုဂရမ်းမင်း လိုင်ဘရာစီယာများသည် သင့်အား အကျင့်ပျက်ခြစားမှုတစ်ခု မည်သို့ဖြစ်ပွားသည်ကို တိကျစွာ ထိန်းချုပ်နိုင်စေပါသည်။ DBF ဖိုင်ကို ဖတ်ရှုပြီးဖြစ်သောကြောင့် ခြွင်းချက်များကို ကောင်းမွန်စွာ ကိုင်တွယ်နိုင်ပြီး ပြန်လည်ရယူနိုင်သော ဒေတာများကို အသစ်နှင့် သန့်ရှင်းသော ဒေတာဘေ့စ်သို့ ထုတ်ယူနိုင်စေပါသည်။
၇.၁ ပိုင်သွန်း (ပန်ဒါစ် / dbfread)
ပိုင်သွန်း pandas နှင့် dbfread စာကြည့်တိုက်များသည် တစ်စိတ်တစ်ပိုင်း ပျက်စီးနေသော အစိတ်အပိုင်းများစွာကို ဖတ်ရှုနိုင်သည် DBF မူရင်းဒေတာဘေ့စ်အပလီကေးရှင်းများက ဖွင့်ရန်ငြင်းဆန်သော ဖိုင်များ-
- လိုအပ်သော libraries များကို install လုပ်ပါ-
pip install pandas dbfread simpledbf. - ပျက်စီးနေတဲ့စာတွေကို ဖတ်ကြည့်ပါ DBF ဖိုင်သုံးနိုင်သည်
dbfread:from dbfread import DBF; table = DBF('yourfile.dbf', ignore_missing_memofile=True)။ အဆိုပါignore_missing_memofileflag သည် memo file မရှိသည့်တိုင် table ကို load လုပ်ခွင့်ပြုသည်။ - မှတ်တမ်းများကို DataFrame ထဲသို့ တင်ပါ။
import pandas as pd; df = pd.DataFrame(iter(table)). pandas သည် အသေးစား data-type မကိုက်ညီမှုများကို ယဉ်ကျေးစွာ ကိုင်တွယ်ပေးပြီး data ကို စစ်ဆေးပြီး သန့်ရှင်းရေးလုပ်ခွင့်ပြုသည်။ - လိုအပ်သလို ဒေတာရှင်းလင်းခြင်းကို လုပ်ဆောင်ပါ- ပျောက်ဆုံးနေသော တန်ဖိုးများကို ဖြည့်ပါ
df.fillna()မှားယွင်းနေသော ဒေတာအမျိုးအစားများကို ပြင်ဆင်ခြင်းdf.astype()နှင့် ထပ်နေသော အတန်းများကို ဖယ်ရှားပါdf.drop_duplicates(). - သန့်ရှင်းရေးလုပ်ထားသော DataFrame ကို CSV သို့ export လုပ်ပါ
df.to_csv('recovered.csv', index=False), ထို့နောက် ပြန်လည်ဖန်တီးပါ DBF သန့်ရှင်းသောဒေတာမှ။
၇.၂ ဂျာဗား (UCanAccess)
UCanAccess JDBC ဒရိုင်ဘာက ပံ့ပိုးပေးပါတယ် DBF ဖိုင်များပါဝင်ပြီး စံ Java I/O မှတစ်ဆင့် ပရိုဂရမ်မာပြုပြင်မှုကို ခွင့်ပြုသည်-
- Maven မှတစ်ဆင့် သို့မဟုတ် JAR ကို တိုက်ရိုက်ဒေါင်းလုဒ်လုပ်ခြင်းဖြင့် UCanAccess library ကို သင့်ပရောဂျက်၏ dependencies များထဲသို့ ထည့်ပါ။
- ပါရှိသော ဖိုဒါသို့ JDBC ချိတ်ဆက်မှုကို ဖွင့်ပါ DBF ဖိုင်:
Connection conn = DriverManager.getConnection("jdbc:ucanaccess:///path/to/folder"); - လုပ်ဆောင်ပါ
SELECT *try-catch block အတွင်းရှိ query။ CatchSQLExceptionဖတ်ရှုမှုတစ်ခုလုံးကို ရပ်တန့်မည့်အစား မဖတ်နိုင်သော မှတ်တမ်းများကို ကျော်သွားရန် တစ်ဦးချင်း row များပေါ်ရှိ exception များ။ - ပြန်လည်ရယူထားသော row များကို အသစ်တစ်ခုသို့ ရေးပါ DBF သို့မဟုတ် ပြန်လည်တင်သွင်းရန်အတွက် CSV သို့ တင်ပို့ပါ။
၈။ နည်းလမ်း ၆: ပရော်ဖက်ရှင်နယ်ကို အသုံးပြုပါ DBF ပြုပြင်ခြင်း Tools များ
လက်ဖြင့်ပြုလုပ်သောနည်းလမ်းများသည် အလွန်ရှုပ်ထွေးလွန်းသောအခါ၊ အချိန်ကုန်သောအခါ သို့မဟုတ် အဂတိလိုက်စားမှု အလွန်ပြင်းထန်သောအခါ၊ သီးသန့်နည်းလမ်းတစ်ခု DBF ပြုပြင်ရေးကိရိယာသည် သင့်ဒေတာများကို ပြန်လည်ရယူရန် အမြန်ဆုံးလမ်းကြောင်းကို ပေးဆောင်သည်။
၅.၅ အသုံးပြုခြင်း DataNumen DBF Repair ပျက်စီးနေတာတွေကို ပြုပြင်ဖို့ DBF files တွေကို
DataNumen DBF Repair ပျက်စီးနေသောနှင့် ဝင်ရောက်၍မရသောနေရာများမှ ဒေတာများကို ပြန်လည်ရယူရန် အထူးဒီဇိုင်းထုတ်ထားသော ပရော်ဖက်ရှင်နယ်ကိရိယာတစ်ခုဖြစ်ပါသည် DBF ဖိုင်များကို။
- စတင် DataNumen DBF Repair
- အကျင့်ပျက်မှုကို ရွေးပါ။ DBF ပြုပြင်ရမည့်ဖိုင်။
- အထွက်ဖိုင်အမည်ကို သတ်မှတ်ပါ။
- ကလစ်နှိပ်ပါ ပြန်လည်ပြုပြင်ပါကိရိယာသည် ဖိုင်ကို စကင်ဖတ်ပြီး ပြုပြင်ရန် စတင်ပါလိမ့်မည်။
- ပြုပြင်မှုလုပ်ငန်းစဉ်ပြီးနောက်၊ dBase သို့မဟုတ် FoxPro တွင် ပြင်ဆင်ပြီးသောဖိုင်ကိုဖွင့်ပါ။
၈.၂ အွန်လိုင်းအသုံးပြုပါ DBF ပြုပြင်ခြင်း Tools များ
အွန်လိုင်းပြုပြင်ရေးဝန်ဆောင်မှုများသည် တစ်ကြိမ်တည်းပြုပြင်ရန်အတွက် အဆင်ပြေပါသည်။ အရေးကြီးသော သို့မဟုတ် လျှို့ဝှက်ဒေတာများ မပါဝင်သော ဖိုင်များနှင့်သာ ၎င်းတို့ကို အသုံးပြုပါ။
- အဘို့အ recovery Toolbox ကို DBF အွန်လိုင်းdBASE နှင့် FoxPro ကို ပံ့ပိုးပေးသော browser-based service တစ်ခု DBF ကို formats ။
- အွန်လိုင်းဖိုင်။ပြုပြင်ခြင်း: ပါဝင်သော ပုံစံအမျိုးမျိုးရှိသော အွန်လိုင်းပြုပြင်ရေးဝန်ဆောင်မှု DBF ထောက်ခံမှု။
အွန်လိုင်းအတွက် အဖြစ်များသော အဆင့်များ DBF ပြုပြင်ရေးကိရိယာများ:
- အွန်လိုင်းပြုပြင်ရေးကိရိယာ၏ ဝက်ဘ်ဆိုက်သို့ သွားပါ။
- ကလစ်နှိပ်ပါ ဖိုင်မှတ်တမ်း Upload လုပ်ပါ or Browse ကို အကျင့်ပျက်မှုကို ရွေးပါ။ .dbf ဖိုင်။
- ကလစ်နှိပ်ပါ ပြုပြင် or သုံးသပ်ကြည့်ရှု ပြုပြင်ခြင်းလုပ်ငန်းစဉ်ကို စတင်ရန်။
- ဒေတာအသုံးပြုနိုင်ကြောင်း အတည်ပြုရန် တောင်းဆိုလာသောအခါ ပြန်လည်ရယူထားသော မှတ်တမ်းများကို ကြိုတင်ကြည့်ရှုပါ။
- ကလစ်နှိပ်ပါ ဒေါင်းလုပ် ပြုပြင်ပြီးသောဖိုင်ကို သင့်ကွန်ပျူတာသို့ ဒေါင်းလုဒ်လုပ်ရန်။
9. ကာကွယ်ခြင်း။ DBF ဖိုင်လ္ပ
အများဆုံး DBF အဂတိလိုက်စားမှုကို ကာကွယ်နိုင်ပါသည်။ ဤအလေ့အကျင့်များကို လိုက်နာခြင်းသည် ဒေတာဆုံးရှုံးမှုအန္တရာယ်ကို သိသိသာသာ လျှော့ချပေးပါသည်။
- သင့်လျော်သော ပိတ်ခြင်းဆိုင်ရာ အလေ့အကျင့်များကွန်ပျူတာကို မပိတ်မီ ဒေတာဘေ့စ်အပလီကေးရှင်းကို အမြဲပိတ်ပါ။ အပလီကေးရှင်းကို ဘယ်တော့မှ မရပ်တန့်ပါနှင့် task Manager ကို ဖိုင်တစ်ခုဖွင့်ထားစဉ်။
- ကွန်ရက်ဖိုင်ဝင်ရောက်ခွင့်ကို ရှောင်ရှားပါ: မဖွင့်ပါနှင့် DBF အပလီကေးရှင်းက ကွန်ရက်မှတ်တမ်းလော့ချခြင်းကို ရှင်းလင်းစွာ ပံ့ပိုးပေးခြင်းမရှိပါက ကွန်ရက်မျှဝေခြင်းမှ ဖိုင်များကို တိုက်ရိုက်ရယူပါ။ အသုံးပြုသူများစွာကို တူညီသောဖိုင်များသို့ ရေးသားခွင့်မပြုပါနှင့်။ DBF သော့ခတ်ယန္တရားမပါဘဲ တစ်ပြိုင်နက်တည်း ဖိုင်တွဲပါ။
- ပုံမှန်အရန်သိမ်းဆည်းမှုများနေ့စဉ် အရန်ကူးယူမှုများကို အချိန်ဇယားဆွဲပြီး သီးခြား ရုပ်ပိုင်းဆိုင်ရာတည်နေရာ သို့မဟုတ် cloud သိုလှောင်မှုတွင် မိတ္တူများကို သိမ်းဆည်းပါ။ အရေးကြီးဒေတာများကို အပိုလုံခြုံရေးကွန်ရက်အဖြစ် CSV သို့မဟုတ် အခြားခေတ်မီဖော်မတ်သို့ အခါအားလျော်စွာ တင်ပို့ပါ။
- အညွှန်းကိန်းပြုပြင်ထိန်းသိမ်းမှု: ပြေး
REINDEXအညွှန်းဖိုင်များကို ဒေတာမှတ်တမ်းများနှင့် ကိုက်ညီစေရန်နှင့် အညွှန်းနှင့်ဆက်စပ်သော အကျင့်ပျက်ခြစားမှုအမှားများ မြင့်တက်လာခြင်းမှ ကာကွယ်ရန်အတွက် အထူးသဖြင့် ပုံမှန်မဟုတ်သော ပိတ်သိမ်းမှုတစ်ခုခုပြီးနောက်တွင် အခါအားလျော်စွာ လုပ်ဆောင်ပါ။
10 ။ အမြဲမေးလေ့ရှိသောမေးခွန်းများ
မေး- လုံးဝပျက်စီးသွားနိုင်ပါသလား DBF ဖိုင်ကို ပြန်ယူလို့ရလား?
A: တစ်စိတ်တစ်ပိုင်းပြန်လည်ရယူခြင်းသည် အမြဲတမ်းနီးပါးဖြစ်နိုင်သည်။ အပြည့်အဝပြန်လည်ရယူခြင်းသည် ဖိုင်၏ဒေတာမှတ်တမ်းဧရိယာသည် ပျက်စီးမှုရှိမရှိပေါ်တွင် မူတည်သည်။ Header နှင့် index ပျက်စီးမှုကို ယေဘုယျအားဖြင့် ပြန်လည်ပြုပြင်နိုင်ပြီး ဒေတာမှတ်တမ်းများကို အစားထိုး၍မရပါ။
မေး- Visual FoxPro မှာ “Not a table” error ဆိုတာ ဘာကိုဆိုလိုတာလဲ။
A: ဖိုင် header ရဲ့ ပထမဆုံး byte ကို မှတ်မိခြင်းမရှိပါ။ DBF ဗားရှင်းအမှတ်အသား။ Visual FoxPro သည် ဤ byte ကို open တွင် တင်းကြပ်စွာ အတည်ပြုပေးသောကြောင့် single-byte header ပျက်စီးခြင်းပင် ဤအမှားကို ဖြစ်ပေါ်စေသည်။
မေး- အွန်လိုင်းမှာ အခမဲ့ ကိရိယာတွေကို အသုံးပြုပြီး ပြုပြင်တာက ဘေးကင်းပါသလား။ DBF ဖိုင်
A: ဖိုင်တွင် အရေးကြီးဒေတာ မပါဝင်ပါကသာ။ အပ်လုဒ်မလုပ်မီ ကိရိယာ၏ ကိုယ်ရေးကိုယ်တာမူဝါဒကို အမြဲဖတ်ရှုပါ၊ လျှို့ဝှက်မှတ်တမ်းများနှင့် အလုပ်လုပ်သည့်အခါ ဒက်စ်တော့ကိရိယာကို ပိုနှစ်သက်ပါ။
မေး- PACK က ကျွန်တော့်ရဲ့ မှတ်တမ်းတွေကို အပြီးအပိုင် ဖျက်ပစ်မှာလား။
A: ဟုတ်ကဲ့။ PACK ပြန်ဖျက်ရန် အလံပြထားသော မှတ်တမ်းအားလုံးကို ပြန်ဖျက်ရန် ရွေးချယ်ခွင့်မရှိဘဲ အပြီးတိုင် ဖယ်ရှားပါ။ ၎င်းကို မူရင်းဖိုင်တွင် မလုပ်ဆောင်ဘဲ အရန်မိတ္တူတွင်သာ အမြဲလုပ်ဆောင်ပါ။
မေး- Python က recover လုပ်လို့ရလား။ DBF စီးပွားဖြစ်ဆော့ဖ်ဝဲမပါဘဲ ဖိုင်လား။
A: ဟုတ်ကဲ့၊ ဒေတာအဆင့် အမှားများအတွက်။ dbfread စာကြည့်တိုက်နှင့်အတူ ignore_missing_memofile flag သည် native application များဖွင့်ရန်ငြင်းဆန်သော တစ်စိတ်တစ်ပိုင်းပျက်စီးနေသောဖိုင်များစွာကို ဖတ်ရှုနိုင်ပြီး၊ pandas သည် ပြန်လည်ရရှိသောဒေတာကို သန့်ရှင်းရေးလုပ်ပြီး တင်ပို့နိုင်သည်။
မေး- FoxPro / dBASE မှာ PACK နဲ့ REINDEX ရဲ့ ကွာခြားချက်က ဘာလဲ။
A: PACK ဖျက်ရန် အလံပြထားသော မှတ်တမ်းများကို အပြီးအပိုင် ဖယ်ရှားပြီး ဒေတာဖိုင်ကို ချုံ့ပေးသည်။ REINDEX ဒေတာကိုယ်တိုင်ကို ပြုပြင်မွမ်းမံခြင်းမရှိဘဲ ရှိပြီးသားဒေတာမှတ်တမ်းများမှ အညွှန်းဖိုင်များကို ပြန်လည်တည်ဆောက်သည်။ ၎င်းတို့သည် မတူညီသောပြဿနာများကို ဖြေရှင်းပေးပြီး သီးခြားစီလည်ပတ်နိုင်သည်။
မေး။ ဖွင့်လို့ရပါသလား DBF FoxPro သို့မဟုတ် dBASE မထည့်သွင်းထားသော ဖိုင်လား။
ဖြေ- ဟုတ်ကဲ့။ LibreOffice Calc DBF Commander နဲ့ Xbase++ အားလုံးဖွင့်လို့ရပါတယ် DBF FoxPro သို့မဟုတ် dBASE ထည့်သွင်းရန်မလိုဘဲ ဖိုင်များကို အသုံးပြုနိုင်ပါသည်။
မေး။ ဘာကြောင့် ကျွန်တော့်ရဲ့ DBF ဖိုင်ကို LibreOffice မှာဖွင့်ထားပေမယ့် Visual FoxPro မှာဖွင့်မထားဘူးလား။
A: LibreOffice သည် header အသေးစား မကိုက်ညီမှုများကို ပိုမိုသည်းခံနိုင်သည်။ Visual FoxPro သည် header validation ကို တင်းကျပ်စွာ လုပ်ဆောင်ပြီး မည်သည့်စစ်ဆေးမှုမှ မအောင်မြင်သော ဖိုင်များကိုမဆို ဖွင့်ရန် ငြင်းဆိုသည်။ ဖိုင်သည် LibreOffice တွင် ပွင့်လာပါက ဒေတာကို CSV သို့ တင်ပို့ပြီး ပြန်လည်ဖန်တီးပါ။ DBF သန့်ရှင်းပြီး FoxPro နဲ့ တွဲဖက်အသုံးပြုနိုင်တဲ့ ဖိုင်တစ်ခု ရယူဖို့။
မေး- index files (.cdx / .idx) တွေ ပျောက်ဆုံးသွားတာ ဘာကြောင့်လဲ။
A: အဖြစ်အများဆုံး အကြောင်းရင်းတွေကတော့ မတော်တဆ ဖျက်မိခြင်း၊ အပလီကေးရှင်း ထည့်သွင်းမှု မအောင်မြင်ခြင်း သို့မဟုတ် အဖော်ဖိုင်များကို ဖယ်ရှားသည့် ဖြုတ်ချမှု၊ အညွှန်းပြန်လည်တည်ဆောက်မှု လုပ်ဆောင်နေစဉ် ပျက်သွားခြင်း သို့မဟုတ် ဖိုင်များကို ကူးယူခြင်းတို့ ဖြစ်ပါတယ်။ .dbf ဆက်စပ်နေသော index ဖိုင်များကို ကူးယူခြင်းမပြုဘဲ ဖိုင်ကို နေရာအသစ်သို့ ရွှေ့ပြောင်းပါ။
Q: လုပ်နိုင်လား။ DBF memo fields (.fpt / .dbt) ပါတဲ့ file ကို ပြင်လို့ရသေးလား။
A: ဟုတ်ကဲ့၊ ဒါပေမယ့် နောက်ထပ်အဆင့်တွေ လိုအပ်ပါတယ်။ အသုံးပြုပါ PACK MEMO FoxPro မှာ memo ဖိုင်ကို compact လုပ်ပြီး ပြုပြင်ဖို့ သုံးပါတယ်။ memo ဖိုင်ကိုယ်တိုင်က corrupt ဖြစ်နေရင် memo ဖိုင် reference ကို header ကနေ ဖယ်ရှားပြီး table ကိုဖွင့်ခြင်းအားဖြင့် non-memo field data တွေကို ပြန်လည်ရယူနိုင်ပါတယ်။
မေး- ဘယ်ပြုပြင်နည်းကို အရင်စမ်းကြည့်ရမလဲ ဘယ်လိုဆုံးဖြတ်ရမလဲ။
A: အနည်းဆုံး ကျူးကျော်ဝင်ရောက်မှု ချဉ်းကပ်မှုဖြင့် စတင်ပြီး မအောင်မြင်ပါကသာ တိုးမြှင့်ပါ- (1) ပျောက်ဆုံးနေသော ဆက်စပ်ဖိုင်များ ရှိမရှိ စစ်ဆေးပါ၊ (2) လုပ်ဆောင်ပါ REINDEX, (3) LibreOffice Calc ကဲ့သို့သော အခြားအပလီကေးရှင်းတစ်ခုတွင် ဖွင့်ပါ၊ (4) လုပ်ဆောင်ပါ PACK နှင့် PACK MEMO၊ (5) လက်ဖြင့်ပြုပြင်ရန်အတွက် hex editor ကိုသုံးပါ၊ (6) ကဲ့သို့သော ပရော်ဖက်ရှင်နယ်ပြုပြင်ရေးကိရိယာကိုသုံးပါ DataNumen DBF Repair.
မေး။ အကျင့်ပျက်ခြစားမှုတစ်ခု ဖြစ်နိုင်ပါသလား DBF ဖိုင်တစ်ခုက တူညီတဲ့ database ထဲက တခြား table တွေကို corrupt ဖြစ်စေသလား။
A: အဂတိလိုက်စားမှု .dbf ဇယားသည် sibling ဇယားများကို တိုက်ရိုက်ပျက်စီးစေခြင်းမရှိပါ။ သို့သော်၊ ပျက်စီးနေသောဇယားတစ်ခုသည် .dbc Visual FoxPro ရှိ database container ဖိုင်သည် ထို container နှင့် ချိတ်ဆက်ထားသော ဇယားအားလုံးကို ဖွင့်ခြင်းမှ တားဆီးနိုင်ပြီး container ကို ပြုပြင်ပြီးသည်အထိ သို့မဟုတ် ဇယားများကို ဖြုတ်လိုက်သည်အထိ database တစ်ခုလုံးကို ဝင်ရောက်ကြည့်ရှု၍မရတော့ပါ။
11 ။ ကောက်ချက်
အကျင့်ပျက်ခြစားမှုကို ပြုပြင်ခြင်း။ DBF ဖိုင်ဟာ မျှော်လင့်ချက်မဲ့တာ ရှားပါတယ်။ အနည်းဆုံး ကျူးကျော်ဝင်ရောက်မှု အဆင့်တွေနဲ့ စတင်ပါ- ဆက်စပ်နေတဲ့ အညွှန်းနဲ့ မှတ်စုဖိုင်တွေ ရှိနေကြောင်း အတည်ပြုပြီး လုပ်ဆောင်ပါ REINDEX ပျက်စီးနေသော အညွှန်းများကို ပြန်လည်တည်ဆောက်ရန်နှင့် LibreOffice Calc သို့မဟုတ် ကဲ့သို့သော သည်းခံနိုင်သော အခြားအပလီကေးရှင်းတွင် ဖိုင်ကိုဖွင့်ရန် ကြိုးစားပါ DBF တပ်မှူး။ ထိုနည်းလမ်းများသည် ဒေတာကို ပြန်လည်ရယူခြင်းမရှိပါက၊ အဆင့်လိုက် တိုင်ကြားချက်သို့ တိုင်ကြားချက် PACK နှင့် PACK MEMO command များ၊ ထို့နောက် manual hex-level inspection နှင့် reconstruction သို့ သို့မဟုတ် Python သို့မဟုတ် Java ကို အသုံးပြု၍ programmatic recovery သို့ လုပ်ဆောင်ပါ။ အဆင့်တိုင်းတွင်၊ backup copy တစ်ခုတည်းတွင်သာ လုပ်ဆောင်ပါ - မူရင်းဖိုင်ကို ဘယ်တော့မှ မလုပ်ဆောင်ပါနှင့်။
လက်ဖြင့်လုပ်ဆောင်သည့်နည်းလမ်းများ ကုန်ဆုံးသွားသည့် ပြင်းထန်သော သို့မဟုတ် ရှုပ်ထွေးသော အဂတိလိုက်စားမှုအတွက်၊ ကျွမ်းကျင်ပညာရှင်တစ်ဦးသည် DBF ပြုပြင်ရေးကိရိယာ အယုံကြည်ရဆုံး အလိုအလျောက် ပြန်လည်ရယူခြင်းကို ပေးပါသည်။ သင့်ဒေတာကို ပြန်လည်ရယူပြီးသည်နှင့်၊ အတွေ့အကြုံကို ထပ်မံမဖြစ်ပွားစေရန် အပိုင်း ၉ ရှိ ကြိုတင်ကာကွယ်ရေး လုပ်ငန်းစဉ်များကို ထားရှိပါ - ပုံမှန် အရန်ကူးယူခြင်း၊ သင့်လျော်သော ပိတ်သိမ်းခြင်း လုပ်ထုံးလုပ်နည်းများနှင့် ပုံမှန် REINDEX လုပ်ဆောင်ခြင်းတို့ကို ပြုလုပ်ပါ။
အာဘော်အကြောင်း
Yuan Sheng 10 နှစ်အထက်အတွေ့အကြုံရှိသောအကြီးတန်းဒေတာဘေ့စစီမံခန့်ခွဲသူ (DBA) SQL Server ပတ်ဝန်းကျင်နှင့် လုပ်ငန်းဒေတာဘေ့စ်စီမံခန့်ခွဲမှု။ သူသည် ဘဏ္ဍာရေးဝန်ဆောင်မှုများ၊ ကျန်းမာရေးစောင့်ရှောက်မှုနှင့် ကုန်ထုတ်လုပ်ငန်းအဖွဲ့အစည်းများရှိ ရာနှင့်ချီသော ဒေတာဘေ့စ်ပြန်လည်ရယူရေးအခြေအနေများကို အောင်မြင်စွာဖြေရှင်းနိုင်ခဲ့သည်။
Yuan သည် အထူးပြုသည်။ SQL Server နှင့် DBF ဒေတာဘေ့စ်ပြန်လည်ရယူခြင်း၊ မြင့်မားသောရရှိနိုင်မှုဖြေရှင်းချက်များနှင့် စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း။ ၎င်း၏ကျယ်ပြန့်သောလက်တွေ့အတွေ့အကြုံတွင် multi-terabyte ဒေတာဘေ့စ်များကိုစီမံခန့်ခွဲခြင်း၊ Always On Availability Groups များကိုအကောင်အထည်ဖော်ခြင်းနှင့် မစ်ရှင်အရေးပါသောစီးပွားရေးစနစ်များအတွက် အလိုအလျောက်အရန်ကူးခြင်းနှင့် ပြန်လည်ရယူခြင်းမဟာဗျူဟာများ ဖော်ဆောင်ခြင်းတို့ပါဝင်သည်။
သူ၏ နည်းပညာကျွမ်းကျင်မှုနှင့် လက်တွေ့ကျသောချဉ်းကပ်မှုမှတစ်ဆင့် Yuan သည် ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများနှင့် အိုင်တီပညာရှင်များ၏ရှုပ်ထွေးမှုကို ဖြေရှင်းရာတွင် အထောက်အကူဖြစ်စေမည့် ပြည့်စုံသောလမ်းညွှန်ချက်များကို ဖန်တီးရန် အာရုံစိုက်ထားသည်။ SQL Server စိန်ခေါ်မှုများကို ထိထိရောက်ရောက် သူသည် နောက်ဆုံးပေါ်နှင့် လက်ရှိရှိနေပါသည်။ SQL Server ထုတ်ဝေမှုများနှင့် Microsoft ၏ တိုးတက်ပြောင်းလဲနေသော ဒေတာဘေ့စ်နည်းပညာများ၊ သူ၏ အကြံပြုချက်များသည် လက်တွေ့ကမ္ဘာ၏ အကောင်းဆုံးအလေ့အကျင့်များကို ထင်ဟပ်ကြောင်း သေချာစေရန် ပြန်လည်ရယူခြင်းဆိုင်ရာ အခြေအနေများကို ပုံမှန်စမ်းသပ်နေသည်။
နှင့်ပတ်သက်သောမေးခွန်းများရှိသည်။ SQL Server နှင့် DBF ဒေတာဘေ့စ်ပြန်လည်ရယူခြင်း သို့မဟုတ် နောက်ထပ်ဒေတာဘေ့စ်ပြဿနာဖြေရှင်းခြင်းဆိုင်ရာလမ်းညွှန်ချက်လိုအပ်ပါသလား။ Yuan မှကြိုဆိုပါသည်။ အကြံပြုချက်များနှင့် အကြံပြုချက်များ ဤနည်းပညာဆိုင်ရာ အရင်းအမြစ်များ တိုးတက်စေရန်။





