Авлигач DBF файл нь нягтлан бодох бүртгэлийн систем, бараа материалын мэдээллийн сан, CRM програмуудыг зогсоож болзошгүй. Энэхүү гарын авлага нь алдааг засах бүх практик аргыг хамардаг. DBF файл, энгийн холбогдох файлын шалгалтаас эхлээд зургаан өнцөгт түвшний сэргээн босголт хүртэл, хамгийн багаас m хүртэл дарааллаарost түрэмгий.
1. Оршил
1.1 гэж юу вэ a DBF Файл уу?
A DBF файл нь анх dBASE-д зориулан боловсруулсан бүтэцлэгдсэн хүснэгтэн мэдээллийн сангийн файлын формат бөгөөд дараа нь FoxPro, Clipper, Visual FoxPro болон олон хуучин бизнесийн програмуудаар батлагдсан бөгөөд нягтлан бодох бүртгэлийн бүртгэл, бараа материалын хүснэгт, хэрэглэгчийн өгөгдөлд түгээмэл хэрэглэгддэг.
A DBF Өгөгдлийн сан нь ихэвчлэн хэд хэдэн хамтрагч файлуудыг агуулдаг:
- .cdx / .idxБичлэгийн хайлтыг хурдасгадаг нийлмэл болон дан индекс файлууд.
- .fpt / .dbtҮндсэн хүснэгтэд лавлагаа өгсөн хувьсах урттай текст эсвэл хоёртын өгөгдлийг хадгалдаг Memo талбарын файлууд.
- .dbcХолбогдох хүснэгтүүд, харагдацууд болон хадгалагдсан процедуруудыг холбоход Visual FoxPro-ийн ашигладаг мэдээллийн сангийн контейнер файл.
1.2 Таныг тэмдэглэнэ DBF Файл эвдэрсэн байна
Дараах шинж тэмдгүүд нь дараахыг илтгэнэ DBF Файл эвдэрсэн байж магадгүй бөгөөд засах шаардлагатай:
- "Хүснэгт биш" алдаа: Аппликейшн нь файлын толгой хэсгийн эхний байтыг хүчинтэй гэж танихгүй байна DBF хувилбарын тэмдэглэгээ.
- "Файл нь мэдээллийн сан биш" алдааФайлын толгойн бүтэц уншигдах боломжгүй эсвэл дарж бичигдсэн байна.
- Аппликейшн нээгдэх үед гацах: Хost Файлыг ачаалах үед програм зогсдог эсвэл гацдаг.
- Эвдэрсэн эсвэл алга болсон бичлэгүүдМөрүүд буруу тэмдэгтүүд, таслагдсан утгууд эсвэл огт байхгүй байна.
- Буруу бичлэгийн тооАппликейшний мэдээлсэн бичлэгийн тоо нь файлын мөрийн бодит тоотой таарахгүй байна.
- Индексийн алдааАппликейшн нь индексийн зөрүүг мэдээлдэг эсвэл байх ёстой бичлэгийг олж чадахгүй байна.
- Тэг байт эсвэл хэвийн бус жижиг файлын хэмжээФайл нь l байнаost бичих үйл ажиллагаа тасалдсанаас болж түүний агуулга.
1.3 Нийтлэг шалтгаанууд DBF Авлига хуулах
- Буруу унтраалт болон цахилгаан тасалдалФайл нээлттэй байх үед цахилгаан тасарсан эсвэл албадан дахин ачаалсан тохиолдолд бичих үйлдлийг тасалдуулж, файл тогтворгүй төлөвт үлддэг.
- Олон хэрэглэгчийн хандалтын зөрчилОлон хэрэглэгчид нэг дор нээж, бичиж байна DBF Сүлжээгээр нэгэн зэрэг файл ашиглах нь өгөгдлийн бичлэг болон индекс файлуудыг хоёуланг нь гэмтээж болзошгүй.
- Индекс файлын гэмтэл: Алга болсон эсвэл гэмтсэн .cdx / .idx файлууд нь үндсэн өгөгдлийн бичлэгүүд бүрэн бүтэн байсан ч мэдээллийн санг эвдэрсэн мэт харагдуулдаг.
- Устгасан бичлэгийн хуримтлал болон хуваагдалУстгагдахаар тэмдэглэгдсэн боловч хэзээ ч биет байдлаар устгагдаагүй бичлэгүүд цаг хугацааны явцад хуримтлагдаж, бүтцийн зөрчил үүсгэж болзошгүй.
- Програм хангамжийн эвдрэл болон вирусын халдлагаБичих үйлдлийн явцад програм гацах, эсвэл файлын байтуудыг дарж бичсэн хортой програм хангамж нь толгой хэсэг, талбарын тодорхойлогч эсвэл өгөгдлийн бичлэгийг гэмтээж болзошгүй.
2. Засвар хийхээс өмнө: Эхний чухал алхамууд
Гэмтлийг улам дордуулах эсвэл өгөгдлийг бүрмөсөн алдахаас зайлсхийхийн тулд ямар нэгэн засварлах аргыг туршиж үзэхээсээ өмнө эдгээр хоёр алхамыг дагана уу.
2.1 Файлыг дахин дахин нээхээ болих
Аппликейшн эвдэрсэн файлыг ачаалахыг оролдох бүрт DBF файлд нэмэлт өгөгдөл бичих эсвэл толгой хэсгийг шинэчлэх боломжтой бөгөөд энэ нь эвдрэлийг улам дордуулж болзошгүй. Файл гэмтсэн гэж сэжиглэж эхэлмэгц нээхээ зогсооно уу.
2.2 Нөөц хуулбар үүсгэх
Өөр юу ч хийхээсээ өмнө эвдэрсэн файлыг хуулж аваад нэрийг нь өөрчилнө үү (жишээлбэл, файлын_нөөцлөлт.dbf). Засварын бүх оролдлогыг хуулбар дээр нь хий, эх хувь дээр нь хэзээ ч бүү хий. Хэрэв засварын арга нь асуудлыг улам дордуулбал та ... хийж болно.tarХүрээгүй эх хувилбараас дууслаа.
Мөн бүх хамтрагч файлуудыг нөөцлөх (.cdx, .idx, .fpt, .dbt) үндсэнтэй хамт.dbf файл.
3. 1-р арга: Холбогдох файлуудыг шалгаж, сэргээх
Олон илэрхий DBF Эвдрэл нь үнэндээ хамтрагч файлууд дутуу эсвэл таарахгүй байгаагаас үүдэлтэй байдаг. Файлын түвшний засвар хийхээсээ өмнө эдгээрийг шалгана уу.
3.1 Алга болсон индекс файлуудыг тодорхойлох (.cdx / .idx)
агуулсан хавтсыг нээнэ үү .dbf файлыг оруулаад хүлээгдэж буй бүх индекс файлууд байгаа эсэхийг шалгана уу. нэртэй Visual FoxPro хүснэгт захиалга.dbfЖишээлбэл, ихэвчлэн хамтрагчтай байдаг захиалга.cdxХэрэв индекс файл байхгүй бол өгөгдөл өөрөө бүрэн бүтэн байсан ч програм алдаа мэдээлэх болно.
3.2 Алга болсон тэмдэглэлийн файлуудыг тодорхойлох (.dbt / .fpt)
Хэрэв хүснэгт нь memo талбаруудыг агуулсан бол түүний memo файл (.fpt Visual FoxPro-д зориулсан, .dbt dBASE III/IV-ийн хувьд) ижил хавтсанд байх ёстой. Мемо файл байхгүй байх нь мемо утгыг дурдсан аливаа бичлэгийн хувьд унших алдаа үүсгэдэг, хэдийгээр бичлэгийн үлдсэн хэсэг нь гэмтээгүй байсан ч гэсэн.
3.3 Алга болсон файлуудыг дахин бүтээх
Хэрэв индекс файлууд байхгүй бол тэдгээрийг ашиглан дахин бүтээнэ үү ДАХИН ИНДЕКС Хэрэв memo файлууд байхгүй бөгөөд нөөцлөлт байхгүй бол эдгээр бичлэгийн memo талбарын өгөгдлийг сэргээх боломжгүй боловч memo бус талбаруудад толгой хэсгээс memo файлын лавлагааг устгасны дараа хүснэгтийг нээснээр хандах боломжтой хэвээр байна. hex редактор.
4. 2-р арга: Өгөгдлийн сангийн хэрэгслийн командуудыг ашиглах (FoxPro / dBASE)
Хэрэв та Visual FoxPro эсвэл dBASE-д хандах боломжтой бол тэдгээр нь олон төрлийн нийтлэг эвдрэлийг засах боломжтой суулгасан командуудтай байдаг.
4.1 Файлыг Онцгой горимд нээх
Файлыг онцгой горимд нээх нь унших/бичих бүрэн хяналтыг олгодог бөгөөд ямар нэгэн засварлах командыг ажиллуулахаас өмнө шаардлагатай. Visual FoxPro командын цонхонд дараахийг бичнэ үү:
USE yourfile.dbf EXCLUSIVE
Хэрэв файл амжилттай нээгдвэл та бичлэгийн өгөгдлийг шинэ мэдээллийн сан руу нэн даруй хуулж өгөгдлийг сэргээж болно.
4.2 Хүснэгтийн бүрэн бүтэн байдлыг SET TABLEVALIDATE ашиглан баталгаажуулна уу
Засваруудыг хийхээсээ өмнө ашиглана уу SET TABLEVALIDATE авлигын алдааг илрүүлэхийн тулд:
SET TABLEVALIDATE 11
USE yourfile.dbf EXCLUSIVE
Энэ тушаал нь Visual FoxPro-д хүснэгтийг нээхдээ хатуу баталгаажуулалт хийхийг зааварчилдаг. Энэ алхам дээр буцаагдсан аливаа алдааны мэдэгдэл нь эвдрэлийн мөн чанар болон байршлыг тодорхойлно.
4.3 REINDEX ашиглан индексүүдийг дахин бүтээх
Файлыг онцгой горимд нээсэн үед дараах тушаалыг ажиллуулна уу:
REINDEX
REINDEX нээлттэй холбоотой бүх индекс файлуудыг дахин бүтээдэг DBFЭнэ нь бичлэг дутуу харагдах эсвэл програм файлыг унших боломжгүй гэж мэдээлэхэд хүргэдэг индекстэй холбоотой алдааг засдаг.
4.4 Хүснэгтийг PACK ашиглан нягтруулна уу
Файлыг онцгой горимд нээсэн үед дараах тушаалыг ажиллуулна уу:
PACK
PACK Устгахаар тэмдэглэгдсэн бүх бичлэгийг физик аргаар арилгаж, файлыг нягтруулдаг. Энэ нь устгагдсан бичлэгийн хэт их хуримтлалаас үүдэлтэй асуудлыг шийдвэрлэдэг.
Сануулга: PACK тэмдэглэгдсэн бичлэгүүдийг бүрмөсөн бөгөөд эргэлт буцалтгүй устгана. Үүнийг зөвхөн нөөц хуулбар дээр ажиллуулна уу.
4.5 PACK MEMO ашиглан Memo талбаруудыг засах
Хэрэв хүснэгтэд memo талбарууд байгаа бол дараах командыг ажиллуулна уу PACK:
PACK MEMO
PACK MEMO тэмдэглэлийн файлыг нягтруулдаг (.fpt / .dbt), ашиглагдаагүй memo блокуудыг арилгах болон memo файл болон үндсэн хүснэгтийн хоорондох хэмжээний зөрүүг засах.
Сануулга: PACK MEMO Устгасан бичлэгүүд болон дарж бичсэн memo утгуудын memo өгөгдлийг буцаах сонголтгүйгээр бүрмөсөн устгана. Үүнийг зөвхөн нөөц хуулбар дээр ажиллуулна.
5. 3-р арга: Өөр програм дээр нээх
Заримдаа, илүү тэсвэртэй програм дээр файлыг нээх нь үндсэн програм нээхээс татгалзсан ч гэсэн өгөгдлийг сэргээж чаддаг.
5.1 LibreOffice тооцоолол
LibreOffice Calc нь dBASE импортын шүүлтүүртэй бөгөөд хэсэгчлэн эвдэрсэн олон тооны түүхий өгөгдлийг уншиж чаддаг. DBF файлууд:
- рүү очих Файлын -> Нээлттэй Гэж сонгоод .dbf файл. LibreOffice нь тэмдэгтийн кодчилолыг сонгож болох импортын харилцах цонхыг харуулах болно.
- Хэрэв файл ачаалагдах юм бол өгөгдөл нь хүснэгт хэлбэрээр гарч ирнэ. Бүр хэсэгчлэн эвдэрсэн файлууд ч гэсэн уншигдахуйц бичлэгүүдээр ачаалагддаг.
- Сэргээгдсэн өгөгдлийг экспортлох Файлын -> Хадгалах Сонгох Текст CSV or Microsoft Excel форматлаад дараа нь дахин үүсгэнэ үү DBF шаардлагатай бол экспортолсон өгөгдлөөс.
Тайлбар: Нээх үед DBF Visual FoxPro-оор үүсгэгдсэн файлуудыг ашиглана уу 32-бит LibreOffice-ийн хувилбар. Visual FoxPro-ийн файлын формат нь 64 битийн архитектурыг дэмждэггүй бөгөөд 64 битийн хувилбарт зөв ачаалагдахгүй байж магадгүй.
5.2 OpenOffice тооцоолол
OpenOffice нь LibreOffice-тэй төстэй боловч хэд хэдэн аюулгүй байдлын эмзэг байдалтай. Зөвхөн LibreOffice ажиллахаа больсон тохиолдолд л ашиглаарай.
5.3 DBF командлагч
DBF Командлагч бол тууштай хүн DBF илүү өргөн хүрээг хамардаг үзэгч болон засварлагч DBF ерөнхий зориулалттай програмуудаас илүү дэд хувилбарууд:
- Татаж аваад суулгана DBF Командлагч, дараа нь ажиллуул.
- рүү очих Файлын -> Нээлттэй мөн эвдэрсэн файлыг ачаална уу .dbf файл. DBF Commander нь файлын бүтцийг автоматаар шинжилж, ачаалах үед жижиг алдааг засахыг оролддог.
- Хэрэв өгөгдөл уншигдахуйц бол, дараах хаягаар орно уу Файлын -> Хадгалах мөн анхны нөөц хуулбарыг хадгалахын тулд шинэ файлын нэрээр хадгална уу.
5.4 Xbase++
Xbase++ нь дэвшилтэт хөгжүүлэлтийн орчин юм DBF Хуучин FoxPro эсвэл dBASE орчныг эвддэг эвдрэлийн төрлүүдийг зохицуулж чадах нийцтэй байдал:
- Эвдэрсэн файлыг ачаална уу DBF Xbase++ файлын удирдлагын функцуудыг ашиглан файлыг ажиллуулна.
- Суурилуулсан оношилгоог ажиллуулна ууostic болон засварлах дэд програмууд нь бусад хэрэгслүүдийн зохицуулж чадахгүй гэмтсэн индексүүд болон өгөгдөл оруулах алдааг засах боломжтой.
6. 4-р арга: Текст/Hex засварлагч ашиглан гараар засварлах
Дээрх аргууд амжилтгүй болсон үед текст эсвэл зургаан өнцөгт засварлагч ашиглан гараар шалгах нь түүхий файлын агуулгыг шалгах, бүрэн бүтэн өгөгдлийг хуулах, ажиллаж буй мэдээллийн санг дахин бүтээх боломжийг олгодог. Энэ арга нь анхаарал болгоомжтой байх, үндсэн ойлголтыг шаарддаг DBF файлын бүтэц.
6.1 DBF Үндсэн бүтцийн тойм
A DBF файл нь дараалсан дөрвөн хэсгээс бүрдэнэ:
- Файлын толгой хэсэг (32 байт)Эхний байт нь дараахыг тодорхойлно DBF хувилбар (жишээ нь,
0x03dBASE III-ийн хувьд тэмдэглэлгүй,0x30Visual FoxPro-д зориулсан). 1–3 байт нь сүүлийн шинэчлэлтийн огноог (YY/MM/DD) хадгалдаг. 4–7 байт нь нийт бичлэгийн тоог 32 битийн бүхэл тоо болгон хадгалдаг. 8–9 байт нь толгойн хэмжээг байтаар, 10–11 байт нь тогтмол бичлэгийн хэмжээг байтаар хадгалдаг. - Талбарын тодорхойлогчийн массивТолгой хэсгийн дараа байрлах 32 байтын оруулгуудын дараалал. Оруулга бүр нь талбарын нэрийг (байт 0–10, null-padded), талбарын төрөл (байт 11: C=Тэмдэгт, N=Тоон, D=Огноо, L=Логик, M=Тэмдэглэл), талбарын урт (байт 16) болон аравтын бутархайн тоог (байт 17) хадгалдаг. Массив нь дараах байдлаар төгсдөг.
0x0Dбайт. - Өгөгдлийн бүртгэл: Тогтмол урттай бичлэгүүд, тус бүр нь толгой хэсэгт хадгалагдсан бичлэгийн хэмжээтэй яг ижил өргөнтэй байна. Бичлэг бүрийн эхний байт нь устгах тэмдэг юм (
0x20= идэвхтэй бичлэг,0x2A= устгагдсан бичлэг). - EOF тэмдэглэгээ: Нэг байт (
0x1A) нь файлын төгсгөлийг заана.
6.2 Унших боломжтой өгөгдлийг авахын тулд текст засварлагч ашиглах
учир нь DBF хоёртын формат бол текст засварлагчид байх ёстой биш файлыг шууд засварлахад ашиглагдаж болно. Гэсэн хэдий ч тэдгээр нь шинэ мэдээллийн санг хуулж, дахин бүтээхэд ашиглаж болох талбарын нэрс болон тэмдэгтийн өгөгдлийн бичлэгүүдийг харуулах боломжтой.
Ашиглаж болох зарим алдартай текст засварлагчдыг доор харуулав.
- Notepad++ (Windows): Гэмтсэн файлыг нээх DBF Notepad++ дахь файл. Талбарын тодорхойлогчоос талбарын нэрс Өгөгдлийн бичлэгээс авсан массив болон тэмдэгтийн талбарын утгууд нь хоёртын контентоос бусад уншигдахуйц ASCII текст хэлбэрээр харагдах болно. Талбарын нэр, төрөл болон сэргээгдэх өгөгдлийн мөрүүдийг тодорхойлж, тэмдэглэнэ үү.
- Вим (Линукс): Нээх DBF файл
vim -b yourfile.dbfхоёртын горимд орохын тулд ашиглана уу. / мэдэгдэж буй талбарын нэрс эсвэл өгөгдлийн мөрүүдийг хайх. Vim-ийн хайлт болон орлуулалтыг бичлэгүүд дээр байнга буруу утгатай бүх тохиолдлыг олоход ашиглаж болно.
Уншиж болох талбарын тодорхойлогч болон өгөгдлийн бичлэгийг тодорхойлсны дараа уг мэдээллийг ашиглан dBASE эсвэл Visual FoxPro дээр хүснэгтийн бүтцийг дахин үүсгэж, хадгалсан бичлэгүүдийг шинэ файлд гараар дахин оруулах эсвэл буулгах хэрэгтэй. Текст засварлагчаас анхны хоёртын файлыг засах гэж бүү оролдоорой - ингэснээр ... болно.ost үүнийг улам бүр дордуулах нь гарцаагүй.
6.3 Өгөгдлийг гараар засах эсвэл дахин бүтээхийн тулд Hex Editor ашиглах
Hex засварлагч нь байт түвшний хандалтыг хангах боломжтой илүү мэргэжлийн хэрэгсэл юм. DBF файл нь шууд засвар хийх болон найдвартай өгөгдөл гаргаж авах боломжийг олгодог.
6.3.1 Нийтлэг Hex засварлагчид
Дараах hex засварлагчид тохиромжтой. DBF засварын ажил:
- VFP-д суурилсан HexEditVisual FoxPro дотор байгаа. Тушаалын цонхонд ажиллуулна уу
DO HOME() + "Tools\HexEdit\HexEdit.app"дараа нь DBF файлыг асуухад. Тусдаа суулгах шаардлагагүй. - WinHex: Windows-д зориулсан мэргэжлийн зэрэглэлийн зургаан өнцөгт засварлагч, загварыг дэмждэг бөгөөд танд зураглал хийх боломжийг олгоно. DBF толгой талбаруудыг нүдээр харуулах.
- UltraEditТом файлуудыг зохицуулдаг, баганын сонголтыг дэмждэг, өгөгдлийн бичлэгийн блокуудыг хуулахад хэрэгтэй hex горимтой олон платформ засварлагч.
6.3.2 Гараар дүн шинжилгээ хийх болон засварлах
Нөөц хуулбарыг нээнэ үү DBF hex засварлагч дээр файлаа нээгээд дараах шалгалтын дарааллыг гүйцэтгэнэ үү:
- Толгой хэсгийн эхний хэдэн байтыг шалгана уу: файлын төрлийн байт (байт 0), сүүлийн шинэчлэлтийн огноо (байт 1–3), бичлэгийн тоо (байт 4–7), толгой хэсгийн хэмжээ (байт 8–9) болон бичлэгийн хэмжээг (байт 10–11). Толгой хэсгийн эвдрэлийг илрүүлэхийн тулд бичлэгийн тоо болон бичлэгийн хэмжээг бодит файлын хэмжээтэй харьцуулан шалгана уу.
- Талбарын тодорхойлогч массивыг шалгана уу star32-р байт дээр ting хийх: 32 байттай оруулга бүр хүчинтэй талбарын нэр, танигдсан төрлийн тэмдэгт, тэгээс ялгаатай талбарын урт агуулсан бөгөөд массив нь дараахтай төгсдөг эсэхийг баталгаажуулна уу
0x0Dбайт. - Өгөгдлийн бүртгэлийг шалгахtarтолгойн хэмжээгээр заасан офсет дээр ting хийх: бичлэг бүр устгах тугаар эхэлсэн эсэхийг шалгана уу (
0x20or0x2A) мөн бичлэгийн урт нь толгой хэсэгт байгаа утгатай тохирч байгаа эсэхийг. - Гарчиг, талбарын тодорхойлогчийн массив эсвэл өгөгдлийн бичлэгт эвдрэл байгаа эсэхийг тодорхойлно уу. Энэ нь ямар сэргээн босголтын стратегийг хэрэгжүүлэхийг тодорхойлно.
- Буруу бичлэгийн тоо эсвэл нэг байт эвдэрсэн гэх мэт бага зэргийн эвдрэлийн хувьд утгыг зургаан өнцөгт засварлагч дээр шууд засаад файлыг хадгална уу.
Доорх жишээг үзүүлэв DBF файлыг hex засварлагчаар нээсэн:
6.3.3 Гараар дахин бүтээх DBF Файлын
Гэмтэл нь засварлахад хэтэрхий хүнд байвал шинээр үүсгэсэн файл руу бүрэн бүтэн өгөгдлийн бичлэгийг шилжүүлж мэдээллийн санг дахин бүтээнэ үү:
- dBASE эсвэл Visual FoxPro-г нээгээд шинээр үүсгэнэ үү DBF файл.
- Зургаан өнцөгт шалгалтын явцад тодорхойлсон талбарын тодорхойлогчдыг ашиглан эсвэл анхны өгөгдлийн санг үүсгэсэн DBA зэрэг бусад эх сурвалжийг ашиглан анхны мэдээллийн сантай ижил нэр, өгөгдлийн төрлүүдтэй талбаруудыг үүсгэнэ үү.
- Зургаан өнцөгт засварлагч дээр хуучин өгөгдлийн бичлэгүүдийг сонгоод хуулна уу DBF файл.
- Хуулбарласан өгөгдлийн бичлэгүүдийг шинэ өгөгдлийн харгалзах офсет руу буулгана уу DBF файл.
- Буруу устгалын тэмдэглэгээ эсвэл таслагдсан талбарын утга гэх мэт буулгасан өгөгдлийн бичлэгүүд дотор харагдаж буй аливаа эвдрэлийг гараар засах.
- Зургаан өнцөгт хуулбараас сэргээгдэж чадаагүй өгөгдлийн бичлэгийг гараар дахин оруулна уу.
- Шинээр хадгалах DBF файлыг нээгээд Visual FoxPro эсвэл dBASE дээр нээгээд бүх бичлэг зөв ачаалагдсан эсэхийг шалгана уу.
7. 5-р арга: Програмчлалын хэлээр засварлах
Програмчлалын номын санrarавлига хэрхэн авирч байгааг нарийн хянах боломжийг танд олгоно DBF файлыг уншсанаар та үл хамаарах зүйлсийг уян хатан зохицуулж, сэргээгдэх боломжтой өгөгдлийг шинэ, цэвэр мэдээллийн сан руу экспортлох боломжтой болно.
7.1 Python (пандас / dbfунших)
Питоных pandas болон dbfread libraries нь хэсэгчлэн эвдэрсэн олон зүйлийг уншиж чадна DBF уугуул мэдээллийн сангийн програмууд нээхээс татгалздаг файлууд:
- Шаардлагатай номын санг суулгана ууrarжишээ нь:
pip install pandas dbfread simpledbf. - Эвдэрсэн хэсгийг уншина уу DBF файлыг ашиглаж байна
dbfread:from dbfread import DBF; table = DBF('yourfile.dbf', ignore_missing_memofile=True). Theignore_missing_memofileflag нь memo файл байхгүй байсан ч хүснэгтийг ачаалах боломжийг олгодог. - Бичлэгүүдийг DataFrame руу ачаална уу:
import pandas as pd; df = pd.DataFrame(iter(table)). pandas нь өгөгдлийн төрлийн жижиг зөрчилдөөнийг уян хатан зохицуулдаг бөгөөд өгөгдлийг шалгаж, цэвэрлэх боломжийг олгодог. - Шаардлагатай бол өгөгдөл цэвэрлэгээг гүйцэтгэнэ үү: дутуу утгуудыг бөглөнө үү
df.fillna(), буруу өгөгдлийн төрлийг засахdf.astype(), мөн давхардсан мөрүүдийг устгана ууdf.drop_duplicates(). - Цэвэрлэсэн DataFrame-г CSV файл руу экспортлох
df.to_csv('recovered.csv', index=False), дараа нь дахин үүсгэнэ үү DBF цэвэр өгөгдлөөс.
7.2 Java (UCanAccess)
UCanAccess JDBC драйвер нь дараахыг дэмждэг. DBF файлуудыг ашигладаг бөгөөд стандарт Java I/O-оор дамжуулан програмын засвар хийх боломжийг олгодог:
- UCanAccess номын санг нэмэхrarMaven-ээр дамжуулан эсвэл JAR файлыг шууд татаж авах замаар төслийнхөө хамаарлууд руу y шилжүүлээрэй.
- агуулсан хавтас руу JDBC холболтыг нээнэ үү DBF файл:
Connection conn = DriverManager.getConnection("jdbc:ucanaccess:///path/to/folder"); - Гүйцэтгэх
SELECT *try-catch блок доторх асуулга. CatchSQLExceptionУншихыг бүхэлд нь зогсоохын оронд уншигдах боломжгүй бичлэгийг алгасах бие даасан мөрүүд дээрх үл хамаарах зүйлс. - Сэргээгдсэн мөрүүдийг шинэ мөр рүү бичих DBF эсвэл тэдгээрийг дахин импортлохын тулд CSV руу экспортлох.
8. 6-р арга: Мэргэжлийн хэрэглэгч ашиглах DBF Засах хэрэгсэл
Гар аргаар хийх аргууд хэтэрхий төвөгтэй, цаг хугацаа их шаарддаг эсвэл гажуудал нь хэтэрхий ноцтой үед тусгайлан зориулсан DBF Засварын хэрэгсэл нь таны өгөгдлийг сэргээх хамгийн хурдан аргыг санал болгодог.
8.1 Ашиглах DataNumen DBF Repair Авлигад өртсөн хэсгийг засах DBF файлууд
DataNumen DBF Repair нь эвдэрсэн, нэвтрэх боломжгүй мэдээллээс өгөгдлийг сэргээхэд тусгайлан зориулсан мэргэжлийн хэрэгсэл юм DBF файлууд.
- Start DataNumen DBF Repair
- Авлигачийг сонго DBF засах файл.
- Гаралтын файлын нэрийг тохируулна уу.
- Дарах Start ЗасварХэрэгсэл нь ... болноtarФайлыг сканнердаж, засахын тулд t товчийг дарна уу.
- Засварын процессын дараа зассан файлыг dBase эсвэл FoxPro дээр нээнэ үү.
8.2 Онлайнаар ашиглах DBF Засах хэрэгсэл
Онлайн засварын үйлчилгээ нь нэг удаагийн засвар хийхэд тохиромжтой. Зөвхөн нууц мэдээлэл агуулаагүй файлуудтай л ашиглана уу.
- Сэргээх хэрэгслүүдийн талаар DBF Онлайн: dBASE болон FoxPro-г дэмждэг хөтөч дээр суурилсан үйлчилгээ DBF форматууд.
- Онлайн Файл Засвар: Дараах зүйлсийг багтаасан олон форматтай онлайн засвар үйлчилгээ DBF .
Онлайнаар ажиллах нийтлэг алхамууд DBF засварлах хэрэгслүүд:
- Онлайн засвар үйлчилгээний хэрэгслийн вэбсайт руу очно уу.
- Дарах Файл оруулах or харах мөн авлигачийг сонго .dbf файл.
- Дарах засвар or Анализ хийх засварын үйл явцыг эхлүүлэх.
- Өгөгдлийг ашиглах боломжтой эсэхийг баталгаажуулахын тулд сэргээгдсэн бичлэгүүдийг урьдчилан харах.
- Дарах Татаж авах засварласан файлыг компьютертээ татаж авах.
9. Урьдчилан сэргийлэх DBF Авлига хуулах
Most DBF авлигаас урьдчилан сэргийлэх боломжтой. Эдгээр туршлагыг дагаж мөрдөх нь өгөгдлийн алдагдлын эрсдлийг эрс бууруулдаг.
- Зөв унтраах аргуудКомпьютерийг унтраахаасаа өмнө мэдээллийн сангийн програмыг үргэлж хаа. Програмыг хэзээ ч дуусгаж болохгүй Ажлын менежер файл нээлттэй байх үед.
- Сүлжээний файлд хандахаас зайлсхий: Нээхийг хориглоно DBF Хэрэв аппликейшн сүлжээний бичлэгийн түгжээг шууд дэмждэггүй бол сүлжээний хуваалцах хэсгээс файлуудыг шууд хадгалах. Олон хэрэглэгчийг нэг дор бичихийг хэзээ ч зөвшөөрөхгүй DBF Түгжих механизмгүйгээр нэгэн зэрэг файлыг хадгална уу.
- Тогтмол нөөцлөлт: Өдөр тутмын нөөцлөлтийг төлөвлөж, хуулбарыг тусдаа физик байршил эсвэл үүлэн хадгалалтад хадгална. Нэмэлт аюулгүй байдлын сүлжээ болгон чухал өгөгдлийг үе үе CSV эсвэл өөр орчин үеийн формат руу экспортлоно.
- Индексийн засвар үйлчилгээ: Ажиллуул
REINDEXүе үе, ялангуяа хэвийн бус унтраалтын дараа индексийн файлуудыг өгөгдлийн бичлэгүүдтэй нийцтэй байлгах, индекстэй холбоотой эвдрэлийн алдаа нэмэгдэхээс урьдчилан сэргийлэх.
10 дугаартай. Асуулт
А: Бүрэн эвдэрч болох уу? DBF файлыг сэргээх үү?
А: Хэсэгчилсэн нөхөн сэргэлт бол алм юмost үргэлж боломжтой. Бүрэн сэргээх нь файлын өгөгдлийн бичлэгийн хэсэг бүрэн бүтэн байгаа эсэхээс хамаарна. Толгой болон индексийн эвдрэлийг ерөнхийдөө засах боломжтой; дарж бичсэн өгөгдлийн бичлэгийг засах боломжгүй.
А: Visual FoxPro дээр "Хүснэгт биш" гэсэн алдаа юу гэсэн үг вэ?
А: Файлын толгой хэсгийн эхний байт танигдаагүй байна DBF хувилбарын тэмдэглэгээ. Visual FoxPro нь энэ байтыг нээлттэй үед чанд баталгаажуулдаг тул нэг байт толгойн эвдрэл ч гэсэн энэ алдааг үүсгэдэг.
А: Үнэгүй онлайн хэрэгслүүдийг ашиглан засварлах нь аюулгүй юу? DBF файл?
А: Файл нь нууц мэдээлэл агуулаагүй тохиолдолд л. Байршуулахаасаа өмнө хэрэгслийн нууцлалын бодлогыг үргэлж уншина уу, мөн нууц бичлэгтэй ажиллахдаа ширээний хэрэгслийг илүүд үзнэ үү.
А: PACK миний бичлэгийг бүрмөсөн устгах уу?
Тийм: Тийм. PACK Буцаах сонголтгүйгээр устгахаар тэмдэглэгдсэн бүх бичлэгийг бүрмөсөн устгана. Үүнийг үргэлж нөөц хуулбар дээр ажиллуулж болохгүй, анхны файл дээр нь ажиллуулна уу.
А: Python сэргээж чадах уу? DBF арилжааны програм хангамжгүй файл уу?
А: Тийм ээ, өгөгдлийн түвшний алдааны хувьд. dbfread library-тэй хамт ignore_missing_memofile flag нь уугуул програмууд нээхээс татгалзсан олон хэсэгчлэн эвдэрсэн файлуудыг уншиж чаддаг бөгөөд панда нь сэргээгдсэн өгөгдлийг цэвэрлэж, экспортлох боломжтой.
А: FoxPro / dBASE дахь PACK болон REINDEX-ийн хооронд ямар ялгаа байдаг вэ?
A: PACK Устгахаар тэмдэглэгдсэн бичлэгүүдийг бүрмөсөн устгаж, өгөгдлийн файлыг нягтруулдаг. REINDEX Өгөгдлийг өөрчилөлгүйгээр одоо байгаа өгөгдлийн бичлэгүүдээс индекс файлуудыг дахин бүтээдэг. Эдгээр нь өөр өөр асуудлыг шийддэг бөгөөд бие даан ажиллуулж болно.
А: Би нээж болох уу? DBF FoxPro эсвэл dBASE суулгаагүй файл уу?
А: Тийм. LibreOffice Calc, DBF Commander болон Xbase++ бүгд нээж болно DBF FoxPro эсвэл dBASE суулгац шаарддаггүй файлууд.
А: Яагаад минийх вэ DBF файл LibreOffice дээр нээгдсэн боловч Visual FoxPro дээр нээгдээгүй байна уу?
А: LibreOffice нь толгойн жижиг зөрчилдөөнийг илүү тэсвэрлэдэг. Visual FoxPro нь толгойн баталгаажуулалтыг хатуу гүйцэтгэдэг бөгөөд ямар ч шалгалтанд тэнцээгүй файлуудыг нээхээс татгалздаг. Хэрэв файл LibreOffice дээр нээгдвэл өгөгдлийг CSV руу экспортлоод дахин үүсгэнэ үү. DBF цэвэрхэн, FoxPro-той нийцтэй файлыг авахын тулд.
А: Индексийн файлууд (.cdx / .idx) алга болох шалтгаан юу вэ?
А: Мost Нийтлэг шалтгаанууд нь санамсаргүй устгал, хамтрагч файлуудыг устгасан програм суулгах эсвэл устгахад алдаа гарах, индексийг дахин бүтээх үйл ажиллагааны явцад гацах, эсвэл хуулбарлах явдал юм. .dbf холбогдох индекс файлуудыг хуулахгүйгээр файлыг шинэ байршил руу хуулах.
А: Чадах a DBF memo талбаруудтай (.fpt / .dbt) файлыг одоо хүртэл засах шаардлагатай юу?
А: Тийм ээ, гэхдээ энэ нь нэмэлт алхамуудыг шаарддаг. Ашиглах PACK MEMO FoxPro дээр memo файлыг нягтруулж, засах боломжтой. Хэрэв memo файл өөрөө эвдэрсэн бол memo бус талбарын өгөгдлийг ихэвчлэн толгой хэсгээс memo файлын лавлагааг устгасан хүснэгтийг нээснээр сэргээх боломжтой хэвээр байна.
А: Эхлээд ямар засварын аргыг туршиж үзэхээ хэрхэн шийдэх вэ?
Х: С.tarхамгийн бага инвазив арга барилаар ажиллах ба зөвхөн бүтэлгүйтсэн тохиолдолд л өргөжүүлэх: (1) холбогдох файлууд дутуу байгаа эсэхийг шалгах, (2) ажиллуулах REINDEX, (3) LibreOffice Calc гэх мэт өөр програм дээр нээх, (4) ажиллуулах PACK болон PACK MEMO, (5) гараар засварлахад зургаан өнцөгт засварлагч ашиглах, (6) гэх мэт мэргэжлийн засварлах хэрэгслийг ашиглах DataNumen DBF Repair.
А: Авлигад автсан хүн байж болох уу? DBF ижил мэдээллийн санд байгаа бусад хүснэгтүүдийг эвдэрсэн файл уу?
А: Авлигад идэгдсэн хүн .dbf table нь ах дүүсийн хүснэгтүүдийг шууд гэмтээдэггүй. Гэсэн хэдий ч, гэмтсэн .dbc Visual FoxPro дахь өгөгдлийн сангийн контейнер файл нь тухайн контейнерт холбогдсон бүх хүснэгтийг нээхээс сэргийлж, контейнерыг засах эсвэл хүснэгтүүдийг салгах хүртэл бүхэл бүтэн мэдээллийн санг ашиглах боломжгүй болгодог.
11. дүгнэлт
Авлигачийг засах DBF файл нь rarЭли найдваргүй. Сtarхамгийн бага инвазив алхмуудтай: холбогдох индекс болон тэмдэглэлийн файлууд байгаа эсэхийг шалгаад ажиллуулна уу REINDEX гэмтсэн индексүүдийг дахин бүтээхийн тулд файлыг LibreOffice Calc гэх мэт тэсвэртэй өөр програм дээр нээж үзээрэй DBF Командлагч. Хэрэв эдгээр аргууд өгөгдлийг сэргээхгүй бол дараах руу шилжинэ үү PACK болон PACK MEMO командуудыг ажиллуулж, дараа нь зургаан өнцөгт түвшний гараар шалгах болон сэргээн босгох, эсвэл Python эсвэл Java ашиглан программчлалын сэргээх үйлдлийг гүйцэтгэнэ. Алхам бүрийн туршид зөвхөн нөөц хуулбар дээр ажиллах хэрэгтэй - хэзээ ч анхны файл дээр биш.
Гар аргаар хийсэн аргуудыг шавхсан ноцтой буюу нарийн төвөгтэй авлигын хувьд мэргэжлийн хүн DBF засварын хэрэгсэл м-г өгдөгost найдвартай автомат сэргээлт. Өгөгдлөө сэргээсний дараа 9-р хэсэгт заасан урьдчилан сэргийлэх аргуудыг хэрэгжүүлээрэй - тогтмол нөөцлөлт, зохих ёсоор унтраах журам, үе үе REINDEX ажиллуулж, энэ туршлагыг давтагдахаас сэргийлнэ үү.
Зохиогчийн Тухай
Юань Шэн нь 10 гаруй жилийн туршлагатай мэдээллийн сангийн ахлах администратор (DBA) юм SQL Server орчин, аж ахуйн нэгжийн мэдээллийн сангийн менежмент. Тэрээр санхүүгийн үйлчилгээ, эрүүл мэнд, үйлдвэрлэлийн байгууллагуудын мэдээллийн санг сэргээх олон зуун хувилбаруудыг амжилттай шийдвэрлэсэн.
Юань мэргэшсэн SQL Server болон DBF мэдээллийн санг сэргээх, өндөр хүртээмжтэй шийдэл, гүйцэтгэлийг оновчтой болгох. Түүний олон терабайтын өгөгдлийн санг удирдах, Үргэлж бэлэн байдлын бүлгүүдийг хэрэгжүүлэх, бизнесийн чухал системүүдийн автомат нөөцлөлт, сэргээх стратеги боловсруулах зэрэг түүний өргөн туршлага багтана.
Юань техникийн туршлага, практик арга барилаараа дамжуулан мэдээллийн сангийн администраторууд болон мэдээллийн технологийн мэргэжилтнүүдэд нарийн төвөгтэй асуудлыг шийдвэрлэхэд туслах цогц гарын авлагыг бий болгоход анхаарлаа хандуулдаг. SQL Server сорилтуудыг үр дүнтэй даван туулах. Тэрээр хамгийн сүүлийн үеийн мэдээлэлтэй хэвээр байна SQL Server хувилбарууд болон Microsoft-ын хөгжиж буй мэдээллийн баазын технологиуд, түүний зөвлөмжүүд нь бодит ертөнцийн шилдэг туршлагыг тусгахын тулд сэргээх хувилбаруудыг тогтмол туршиж үздэг.
талаар асуух зүйл байна SQL Server болон DBF Өгөгдлийн санг сэргээх эсвэл өгөгдлийн сангийн алдааг олж засварлах нэмэлт зааварчилгаа хэрэгтэй байна уу? Юань тавтай морилно уу санал хүсэлт, санал Эдгээр техникийн нөөцийг сайжруулахын тулд .





