بازیابی فایل dbf شرح کار با برنامه DBF Recovery Toolbox. شرح بازیابی فایل با استفاده از OfficeRecovery برای DBF Online


اسکرین شات 1.

بلافاصله پس از شروع برنامه جعبه ابزار بازیابی DBFپنجره ای برای انتخاب فایل dbf برای بازیابی باز می شود. انتخاب فایل مورد نظربه سه روش قابل انجام است:

علاوه بر فایل dbf، یک جدول همچنین می تواند در ساختار خود یک فایل حاوی اطلاعات از فیلدهای نوع MEMO را نیز شامل شود. چنین فایل هایی معمولاً دارای نامی هستند که با نام جدول dbf و پسوند fpt برای جداول با فرمت FoxPro یا *.dbt برای جداول با فرمت dBase مطابقت دارد.

توجه داشته باشید: اگر یک فایل dbf آسیب دیده حاوی فیلدهای نوع MEMO باشد، اما فایل fpt یا dbt مشخص نشده باشد، برنامه DBF Recovery Toolbox تنها ساختار فیلد فایل جدول اصلی و پیوندهایی از آن به فایل این فیلد را بازیابی می کند. با این حال، اطلاعات موجود در فایل خارجی پردازش نخواهد شد. بنابراین، اگر فایل MEMO آسیب نبیند، کار عادی بیشتر با جدول بازیابی شده امکان پذیر خواهد بود. با این حال، اگر علاوه بر خود جدول dbf، فایل fpt یا dbt آسیب دیده باشد و بازیابی نشود، ممکن است در حین کار خرابی رخ دهد.

پس از انتخاب فایل جدولی که قرار است بازیابی شود، برای ادامه کار باید روی دکمه Analyze که در پایین پنجره برنامه قرار دارد کلیک کنید.

اگر هنگام وارد کردن نام یا مسیر فایل جدول خطایی رخ داده باشد، برنامه یک اخطار نمایش می دهد لطفا فایل را برای بازیابی انتخاب کنید! (لطفا یک فایل را برای بازیابی انتخاب کنید!) و فرآیند تجزیه و تحلیل ساختار جدول آغاز نخواهد شد.


اسکرین شات 2.

هنگام رفتن به مرحله مشاهده ساختار و محتویات داده ها در جدول منبع، برنامه پنجره ای را در مورد شروع فرآیند بازیابی اطلاعات نمایش می دهد.آیا می خواهید بازیابی را شروع کنید؟ (آیا می خواهید ریکاوری را شروع کنید؟). اگر باید نام یا مسیر فایل dbf را تغییر دهید یا یک فایل MEMO را به انتخابی اضافه کنید، باید دکمه No را بزنید و با استفاده از دکمه Back به پنجره انتخاب فایل بازگردید.

اگر همه فایل ها به درستی مشخص شده اند، روی Yes در گفتگو کلیک کنید. پس از کلیک بر روی این دکمه، برنامه شروع به تجزیه و تحلیل فایل جدول dbf می کند و فایل های اضافیفیلدهای MEMO

اگر هنگام تجزیه و تحلیل ساختار جدول منبع، فیلدهای MEMO پیدا شد، اما فایل fpt یا dbt - محل ذخیره چنین فیلدهایی - مشخص نشده بود، برنامه فایل هایی از این نوع را با نامی که با نام مطابقت دارد جستجو می کند. فایل منبع در دایرکتوری که از آن خوانده می شود. در صورت شناسایی، برنامه پنجره ای را نمایش می دهد که از شما می خواهد هنگام تجزیه و تحلیل جدول از فایل استفاده کنید.

در فرآیند تجزیه و تحلیل و بازیابی اطلاعات، برنامه جعبه ابزار بازیابی DBF:

  1. سرفصل فایل را می خواند، نام ها و انواع فیلدهای جدول را شناسایی می کند، و تعیین می کند که سوابق در فایل مبدأ به طور فیزیکی از چه فاصله هایی شروع می شوند.
  2. شروع هر رکورد را در جدول منبع شناسایی می کند و تمام فیلدهای آن رکوردها را از فایل منبع استخراج می کند. اگر جدول حاوی فیلدهایی از نوع MEMO باشد، پیوندهای موجود در رکوردهای جدول را به آدرس داده های ذخیره شده در فایل این فیلدها شناسایی می کند. خود فایل MEMO پردازش نمی شود.
  3. اگر یک فایل مرتبط با فیلدهای MEMO(fpt یا dbt)، برنامه ساختار آن را تجزیه و تحلیل می‌کند و ورودی‌های فایلی را که مربوط به پیوندهای جدول اصلی هستند، شناسایی می‌کند.

هنگام بازیابی اطلاعات، نوار پیشرفت در پایین صفحه نمایش داده می شود که با آن می توانید ارزیابی کنید که بازیابی اطلاعات در چه مرحله ای است.

پس از اتمام تجزیه و تحلیل فایل dbf آسیب دیده، اطلاعات بازیابی شده به صورت جدول در قسمت اصلی کار پنجره نمایش داده می شود. ستون های جدول نمایش داده شده روی صفحه با فیلدهای فایل منبع و ردیف های جدول با رکوردهای آن مطابقت دارند.

اگر فایل به قدری آسیب دیده باشد که برنامه نتواند اطلاعات را از آن بازیابی کند، دکمه Send a file to developers در پایین پنجره ظاهر می شود که با آن می توانید فایل آسیب دیده را از طریق آن برای توسعه دهندگان برنامه ارسال کنید. پست الکترونیکبرای تجزیه و تحلیل و بازیابی دقیق تر همچنین، در هر زمان می توانید با استفاده از آیتم Send file source واقع در منوی Actions، فایلی را برای تجزیه و تحلیل برای توسعه دهندگان ارسال کنید.

پس از مشاهده اطلاعات بازیابی شده، باید روی دکمه Next واقع در پایین پنجره برنامه کلیک کنید تا به مرحله ذخیره فایل بازیابی شده بروید.


اسکرین شات 3.

هنگام کار با فایل dbf اصلی و فایل های پیوست شده، هیچ تغییری در آنها ایجاد نمی شود. همه کارها با یک کپی از اطلاعات موجود در آن انجام می شود حافظه دسترسی تصادفیکامپیوتر. بنابراین، برای کار بیشتر با داده های بازیابی شده، باید آنها را در دیسک ذخیره کنید.

در این حالت، ذخیره اطلاعات بازیابی شده از فایل اصلی فقط در نسخه ثبت شده برنامه امکان پذیر است. در نسخه آزمایشی، فقط می توانید اطلاعات را در مرحله 2 مشاهده کنید.

برای ذخیره اطلاعات، می توانید از سه روش برای انتخاب یک فایل استفاده کنید:

  1. مسیر و نام فایل را در کادر ترکیبی Repaired file name (.dbf): که در قسمت اصلی کار پنجره قرار دارد وارد کنید. هنگامی که پنجره انتخاب فایل برای ذخیره باز می شود، برنامه به طور خودکار فیلد ورودی را پر می کند. به‌طور پیش‌فرض، پیشنهاد می‌شود فایل dbf بازیابی شده در همان پوشه‌ای که فایل اصلی از آن گرفته شده است، اما با نامی متشکل از نام فایل اصلی و پسوند _repaired ذخیره شود. یعنی اگر از فایل example.dbf استفاده شده باشد، برنامه پیشنهاد می‌کند که آن را با نام example_repaired.dbf ذخیره کند.
  2. انتخاب یک پوشه برای ذخیره و یک نام فایل با استفاده از گفتگوی استاندارد ذخیره فایل. دکمه باز کردن گفتگوی انتخاب فایل در سمت راست جعبه ترکیبی قرار دارد. هنگام باز کردن دیالوگ، دایرکتوری که فایل منبع از آن خوانده شده و نام فایل، که طبق اصل توضیح داده شده در بالا ساخته شده است، نیز استفاده می شود.
  3. یک فایل را از لیست کشویی فیلد ورودی انتخاب کنید. هنگام کار با فایل های جدول، برنامه جعبه ابزار بازیابی DBFاطلاعات مربوط به فایل های ذخیره شده قبلی را در تنظیمات خود ذخیره می کند و در صورت لزوم می توان از این نام فایل ها و مسیرها مجددا استفاده کرد.

پس از تعیین مسیر و نام فایل ذخیره شده، برای ذخیره اطلاعات بازیابی شده، باید روی دکمه Save واقع در پایین پنجره برنامه کلیک کنید.

اگر دایرکتوری مشخص شده در قسمت Repaired name file (.dbf): وجود نداشته باشد، اخطار Directory does not صادر می شود، فایل ذخیره نمی شود و برنامه در مرحله انتخاب فایل برای ذخیره باقی می ماند.

اگر فایل مشخص شده در فیلد از قبل وجود داشته باشد، برنامه از شما می خواهد که آن را بازنویسی کنید، آیا می خواهید فایل موجود را بازنویسی کنید؟ (آیا می خواهید یک فایل موجود را بازنویسی کنید؟). اگر دکمه No را فشار دهید، برنامه نیز در مرحله انتخاب فایل باقی می ماند. اگر دکمه Yes کلیک شود یا چنین فایلی از قبل وجود نداشته باشد، DBF Recovery Toolbox وارد مرحله مشاهده نتایج بازیابی می شود.


اسکرین شات 4.

این برنامه می تواند اطلاعات خوانده شده از فایل منبع را در هر قالبی ذخیره کند: dBase III-IV، FoxPro 3.x (یا جدیدتر). با این حال، به خاطر داشته باشید که اگر سندی را در آن ذخیره کنید نسخه های قبلیبرخی از داده هایی که با نسخه فایل ذخیره شده ناسازگار هستند ممکن است از بین رفته یا آسیب ببینند.

قالب سند ذخیره شده با استفاده از فیلد فهرست کشویی انتخاب خروجی فایل DBF نسخه: انتخاب می شود (نسخه فایل DBF حاصل را انتخاب کنید).

هنگامی که پنجره انتخاب فرمت سند ذخیره شده را باز می کنید، برنامه به طور خودکار پیشنهاد می کند سند بازیابی شده را در نسخه ای از قالبی که با سند اصلی مطابقت دارد ذخیره کنید. اگر فایل منبع آنقدر آسیب دیده باشد که نتوان نسخه آن را تعیین کرد، برنامه به طور پیش‌فرض پیشنهاد می‌کند فایل را در آخرین نسخه موجود از فرمت ذخیره کند.

پس از تکمیل تنظیمات فرمت سند ذخیره شده، برای ادامه فرآیند بازیابی و ذخیره داده ها، باید روی دکمه ذخیره فایل که در پایین پنجره برنامه قرار دارد کلیک کنید.

در صورت لزوم، می توانید با کلیک بر روی دکمه بازگشت، به صفحه انتخاب فایل برای ذخیره برگردید.


اسکرین شات 5.

در این مرحله از کار، برنامه در قسمت اصلی کار پنجره اطلاعات مربوط به تمام فایل هایی که در این جلسه از کار خود بازیابی شده اند را نمایش می دهد. اطلاعات شامل موارد زیر است:

  • نام و مسیر فایلی که بازیابی شده است.
  • نام و مسیر فایلی که اطلاعات بازیابی شده در آن ذخیره شده است.
  • تعداد رکوردهای بازیابی شده؛
  • زمانی که فایل جدول dbf بازیابی شد.

پس از مشاهده گزارش، می توانید با استفاده از دکمه Back که در پایین پنجره برنامه قرار دارد به عقب برگردید تا تنظیمات کار با برنامه (ذخیره فایل بازیابی شده با نام دیگری، انتخاب فایل دیگری برای بازیابی و غیره) را تغییر دهید. .).

اگر کار با برنامه را تمام کرده اید، می توانید برای خروج از برنامه روی دکمه Finish کلیک کنید یا به سادگی پنجره برنامه را ببندید.

پایان کار

پس از مشاهده گزارش، می توانید با کلیک بر روی دکمه Exit یا انتخاب Exit از منوی File خارج شوید. همچنین می توان از دکمه Bak برای بازگشت به صفحه اول برنامه و انتخاب فایل دیگری برای بازیابی استفاده کرد. لطفا توجه داشته باشید که در این حالت، هنگام ذخیره فایل، نام و پوشه فایل بازیابی شده به طور خودکار تغییر نمی کند و باید آنها را به صورت دستی تغییر دهید یا با استفاده از دیالوگ انتخاب کنید.

قبلا در Clipper Summer 87 ارسال شده است.
من باید یک فایل فهرست CDX در Clipper 5.3 ایجاد کنم، اما حتی نمی توانم فایل exe را بسازم.
در ابتدای برنامه درج کردم:
DBFCDX را درخواست کنید
rddSetDefault ("DBFCDX")
من مانند مثال لینک می دهم:
فایل BLINKER $(objs) OUTPUT $@ lib dbfcdx.lib

هنگام ساخت یک خطا می دهد:
BLINKER: 1115: DBFCDX.LIB(CL53INIT): "_DBFCDX" : خارجی حل نشده

BLINKER جایگزین شد.
من شروع به تلاش برای مونتاژ BLINKER 6.0 کردم
همان

نکته جالب این است که به جای DBFCDX، DBFNDX را به مثال متصل کنید، یعنی.
در یک برنامه
DBFNDX را درخواست کنید
rddSetDefault ("DBFNDX")
و سپس
فایل BLINKER $(objs) OUTPUT $@ lib dbfndx.lib
سپس همه چیز به طور معمول لینک می شود و کار می کند

در مورد سوال دوم - در سیستم خود من هم از CLIPPER (بیشتر) و هم از FOXPRO استفاده می کنم (کمتر و استفاده از آن را متوقف کردم، زیرا FOXPRO یک اشکال کشنده دارد - حداکثر بعد آرایه 2 است. برای یک الگوریتمیست، این هیزم است. اگر فوراً می دانستم، معمولاً از Din Not contact FOX استفاده می کردم. اما با این وجود، چندین برنامه در حال حاضر در FOXe هستند. با این حال، من نمی دانم که چرا شاخص های عمومی مورد نیاز است؟ در کلیپر من از NDX استفاده می کنم و در FOXe IDX لعنتی آن، DBF رایج هستند. کار به طور جداگانه ادامه می یابد - هر کدام به تنهایی. یا سیستم آنقدر عظیم است که یک جریان مداوم از تغییرات فایل از هر دو طرف وجود دارد؟ من می ترسم که هیچ راه حل عادی برای سیستم های ناهمگن که در سطح شاخص با یکدیگر کار می کنند وجود ندارد.
و در مورد اشکالات ایجاد CDX توسط Clipper، تنها توصیه این است که یک فایل با یک نمونه آزمایشی حداقلی بدون قسمت موضوع (برنامه + DBF + توضیحات نقص (چه زمانی و چگونه خود را نشان می دهد) بارگذاری کنید، شاید کسی بتواند برای رسیدن به عمق آنچه در حال رخ دادن است.
حداقل من علاقه داشتم.

پاسخ نامه قبلی البته من _dbfcdx.lic را لینک می کنم، اما کمکی نمی کند.

برای درک علاقه خود، می توانید اولین موردی را که به آن برخورد می کنید بردارید.
اندازه نمایه ها متفاوت خواهد بود، بدون ذکر محتوای نمایه های ظاهراً یکسان.

U روباهیک مزیت در مقایسه با قیچی: با دیتابیس خیلی سریعتر کار می کند، اما من برای 400 هزار مشترک وظیفه دارم که هر ماه باید انبوه آن ها را شمارش کنم. فاکس در اینجا کمک می‌کند، در غیر این صورت من به دنبال رایانه‌هایی هستم که بتوانم آنها را یک شبه برای محاسبات بگذارم. بنابراین این ترکیب گاهی اوقات بسیار مفید است. البته این موضوع خارج از موضوع است، اما با تعداد زیاد مشترکین و در نتیجه مسئولیت بالا، اختصاص یک سرور جداگانه منطقی است. سپس می توانید وظایف سرویس را روی آن اجرا کنید. برنامه من کلیپر، که در حال حاضر 13 سال از عمرش گذشته است، این کار را انجام می دهد.

آندری: اوری می نویسد: من برای 400 هزار مشترک وظیفه دارم قبلاً برای 150 هزار مشترک وظیفه داشتم. تمام شب را شمردم. سپس در مورد الگوریتم تصمیم گرفتم (مدت زیادی طول کشید) و شروع به شمارش آن در 5 ساعت کردم. به xHarbour تغییر مکان داد. تقریباً 1.5-2 ساعت در نظر گرفته می شود. بنابراین فاکس و کلیپر - وقت آن است که به کامپایلرهای معمولی بروید. و اگر مدیریت کار شما را درک نمی کند، باید مدیریت را تغییر دهید یا شغل خود را رها کنید. هر چه زودتر این حقیقت را درک کنید، زندگی کردن برایتان آسان تر خواهد بود.

من نگاه کردم به xHarborدر ابتدای کار خلاقانه او، اما پس از آن فرصتی برای پیوست کردن ADS به آن پیدا نکردم، بدون آن اکنون نمی توانم تصور کنم که برای پایگاه داده های بزرگ خود کار کنم (نمایه ها و تراکنش های صحیح گران هستند). اگر می دانید چگونه با ADS دوست شوید، لطفا به من بگویید و یک لینک به من بدهید که از کجا یک xHarbor کار پایدار تهیه کنم. من سعی می کنم قسمت محاسبه را روی آن بالا ببرم - شاید این کار را آسان تر کند.

شما می گویید به یک کامپایلر معمولی سوئیچ کنید؟ این در حالی است که 60 درصد دستگاه ها (از 300 دستگاه) به گونه ای هستند که نیمی از آنها به سختی می توانند w98 را تحمل کنند و نیمی دیگر - w95 فقط از مانیتورهای 14 اینچی و وضوح 640 * 480 پشتیبانی می کند ... در VBasic-4؟ و تغییر مدیریت در حال حاضر دشوار است - همه جا یک بحران وجود دارد، با این حال، کارفرمایان اکنون از برنامه نویسان حمایت نمی کنند. یا در منطقه شما متفاوت است؟ پاشا: پشتیبانی تبلیغات در هاربر وجود دارد. هاربر با او دوست شد تبلیغات حتی زودتر از DBFCDX، یعنی زمانی که DBFCDX هنوز باگ بود، rdd کار برای تبلیغات آماده بود

آندری: Urri می نویسد: نیمی از آنها w98 به سختی می تواند کار کند، و نیمی دیگر - w95 فقط از مانیتورهای 14 اینچی و وضوح 640*480 پشتیبانی می کند... در VBasic-4 چه؟ w98 - 95 و سریعتر میشه منم قبلا خیلی شک داشتم ولی الان فقط دارم فکر میکنم چرا قبلا هیچکس (xHarbor) رو به من نشون نداده!!!تسک از Clipper به xHarbor به سادگی با کامپایل کردن منتقل میشه ولی ممکن است مشکلاتی وجود داشته باشد اما مشکلات کوچکی وجود خواهد داشت، ما به شما خواهیم گفت. در یک هفته!

اوری: عزیز (به همراه ناظم پاشا)! من را اذیت نکنید، فقط یک لینک به انتشار پایدار xHarbor و rdd برای ADS و جایی که بتوانم آن را بخوانم به من بدهید. لطفا. بسیار ضروری

آندری: لعنتی! شما فقط xharbour را بگیرید، نسخه را از آنجا دانلود کنید و تمام! من الان نزدیک به یک سال است که در این نسخه هستم!

آزمایشی برای گیره 5.3, چشمک زن 1.0 و فاکس پرو 8.
دو تا هستند فایل های یکسان testclp.dbf و testfox.dbf
با فیلدهای NAME، NAME1 - C(10)، NUMBER، NUMBER1، SUMMACLP، SUMMAFOX - N(10).
برنامه ویژه fill.exe<кол-во записей>هر دوی این فایل ها را به صورت زیر پر می کند:
NAME=A000000001، NUMBER1=1 برای اولین ورودی،
NAME=A000000002، NUMBER1=2 برای ورودی دوم و غیره.
فیلدهای NAME1 و NUMBER1 به طور مشابه پر می شوند، اما به ترتیب معکوس، یعنی. مقادیر مشخص شده آخرین و ماقبل آخر رکوردها و غیره خواهند بود. فیلدهای SUMMAFOX و SUMMACLP توسط fill.exe پر نمی شوند.
بعد دو تا هستند برنامه های مشابهدر CLIPPER (testclp.exe) و در FoxPro (testfox.exe). برای testclp.exe (کلیپر) کار به شرح زیر است:
الف) فایل testclp.dbf را با فیلد NAME ایندکس کنید (تگ FLD)
و با فیلد NAME1 (برچسب FLD1)، فهرست «خودتان» را ایجاد کنید testclp.cdx.
ب) فایل testfox.dbf را مرور کنید و با استفاده از فایل فهرست ایجاد شده در a) برای هر خط از testfox.dbf با مقدار NAME، خطی را در فایل testclp.dbf پیدا کنید که همان فیلد NAME را دارد و NUMBER را اضافه کنید. فیلد از این فایل به فیلد SUMMACLP از testfox.dbf. سپس با استفاده از همان مقدار NAME، خط دیگری را در فایل testclp.dbf پیدا کنید که همان فیلد NAME1 را دارد و testfox.dbf را از فیلد SUMMACLP کم کنید.
ج) فایل testclp.dbf را مرور کنید و با استفاده از فایل فهرست testfox.cdx ایجاد شده توسط برنامه دیگری (testfox.exe - FoxPro)،
برای هر خط از testclp.dbf، خط را با استفاده از مقدار NAME پیدا کنید
در فایل testfox.dbf که همان فیلد NAME را دارد و فیلد NUMBER را اضافه کنید
از این فایل به فیلد SUMMACLP از testclp.dbf. سپس با استفاده از همان مقدار NAME
خطی را در فایل testfox.dbf پیدا کنید که دارای همان فیلد NAME1 است و
از فیلد SUMMACLP از testclp.dbf کم کنید.
برای testfox.exe (FoxPro) یک کار مشابه:
آ) ایندکس فایل testfox.dbf توسط فیلد NAME (برچسب FLD)
و توسط رشته NAME1 (برچسب FLD1)، ایجاد نمایه «خودتان» testfox.cdx.
ب) فایل testclp.dbf را مرور کنید و با استفاده از فایل فهرست ایجاد شده در a) برای هر خط از testclp.dbf با مقدار NAME، خطی را در فایل testfox.dbf پیدا کنید که همان فیلد NAME را دارد و NUMBER را اضافه کنید. فیلد از این فایل به فیلد SUMMAFOX از testclp.dbf. سپس با استفاده از همان مقدار NAME، خطی را در فایل testfox.dbf پیدا کنید که دارای همان فیلد NAME1 است و آن را از فیلد SUMMAFOX testclp.dbf کم کنید.
ج) فایل testfox.dbf را مرور کنید و با استفاده از فایل فهرست testclp.cdx ایجاد شده توسط برنامه دیگری (testclp.exe - Clipper)،
برای هر خط از testfox.dbf، خط را با استفاده از مقدار NAME پیدا کنید
در فایل testclp.dbf که همان فیلد NAME را دارد و فیلد NUMBER را اضافه کنید
از این فایل به فیلد SUMMAFOX از testfox.dbf. سپس با استفاده از همان مقدار NAME
خطی را در فایل testclp.dbf پیدا کنید که دارای همان فیلد NAME1 است و
از قسمت SUMMAFOX testfox.dbf کم کنید.
بنابراین، هنگام کار صحیح، هر دو برنامه باید به هر فیلد از هر فایل (البته در رکوردهای مختلف قرار دارند) عدد یکسانی را اضافه و کم کنند و در نتیجه، اگر سیستم به درستی کار کند، باید مقادیر صفر وجود داشته باشد. فیلدهای SUMMACLP و SUMMAFOX در هر دو فایل.
این تست برای 100000 و 400000 رکورد انجام شد و با وجود اندازه های مختلف فایل های فهرست، نتیجه صحیح را به دست آورد. تنها نکته این است که هنگام افزودن رکوردها، یکی از فایل های فهرست (بیگانه) نادرست می ماند، بنابراین وقتی برای اولین بار هر یک از برنامه ها را شروع می کنید فقط با ایندکس "خود" کار می کند و با "بیگانه" کار نمی کند. ” یکی پس از راه اندازی برنامه دوم، هر دو فایل به درستی ایندکس می شوند و هر دو برنامه بدون خرابی شروع به کار می کنند (به طور مشابه هنگام کاهش تعداد رکوردها، اما در همان زمان FoxPro به خطا در فهرست شخص دیگری سقوط می کند، و من مجبور شدم از ON ERROR استفاده کنم. handler... اما دلیلش این است که تغییر تعداد رکوردها توسط fill.exe بدون باز کردن هر دو ایندکس انجام می شود و همچنین به دلیل اینکه هر یک از برنامه ها ایندکس دیگر را مجددا ایندکس نمی کند. (یعنی این
مشکل به طور مصنوعی ایجاد شده است - در غیر این صورت نباید باشد). اگر به FoxPro اجازه دهید نمایه شخص دیگری را دوباره فهرست کند - پس عملکرد عادیدر حال بازسازی است. من سیستم مدیریت خطا را بیشتر "بهبود" ندادم تا هر دو برنامه تفاوت زیادی با یکدیگر نداشته باشند.
نتیجه به شرح زیر است:
1) در ابتدا من کلیپر 5.3 را بدون پچ داشتم (و مدت زیادی است که روی آن کار می کنم). واقعاً خراب شد: از حدود 40000 رکورد شروع شد، گاهی اوقات خوب کار می کرد، گاهی اوقات ثابت می شد، گاهی اوقات با یک خطا (مثل اینکه برنامه یک عملیات نامعتبر انجام می داد) در ابتدای برنامه هنگام تلاش برای ایندکس کردن CDX "خود" از کار افتاد. همانطور که در اینجا در انجمن توصیه شد، آن را به 5.3b وصله کردم - همه چیز خوب کار کرد. اما حتی قبل از وصله، اشکالات به این معنا نبودند که نمایه های فاکس پرو درک نمی شدند - بدون اینکه فهرست بندی مجدد(زمانی که هر دو ایندکس توسط فاکس پرو ایجاد شدند) پردازش به طور معمول انجام شد، CLIPPER نتوانست ایندکس های "خود" را ایجاد کند.
2) برای DBMS های مدرن، 400000 رکورد خیلی زیاد نیست. چگونه
را می توان از نتایج آزمایش مشاهده کرد و کل فایل را با جستجوی تصادفی پردازش می کند
حتی در کامپیوترهای قدیمی حداکثر 2-3 دقیقه طول می کشد. بنابراین 2 تا 4 ساعت زمان با فناوری مدرن (و حتی 30 دقیقه) به قول من "خیلی خارق العاده" است. مشکل به احتمال زیاد یا در یک الگوریتم غیراقتصادی است یا در تنگناهایی مانند پهنای باندشبکه ها (به دلیل علاقه به معماری مشتری-سرور، که من نگرش منفی نسبت به آن دارم - اما این خارج از موضوع است). 3) همانطور که از نتایج آزمایش مشاهده می شود، زمان ایجاد یک نمایه در مقایسه با کل زمان عملیاتی ناچیز است، بنابراین بهتر است قبل از شروع پردازش فایل، نمایه ها را دوباره ایجاد کنید، بدون اینکه به "خارجی" و "ما" ایجاد شده قبلی اعتماد کنید. ایندکس ها (مگر اینکه در حال حاضر توسط برنامه های دیگر استفاده نشده باشند).
هر یک از برنامه ها در حالت عادی پردازش فایلگزارش زمان مورد نیاز (بر حسب ثانیه) برای:
- ایجاد شاخص "خود" (نقطه a)؛
- پردازش فایل با استفاده از شاخص "خود" (نقطه ب)؛
- پردازش یک فایل با استفاده از یک شاخص "خارجی" (نقطه ج)؛
- کل زمان کار (زمان پر کردن فیلدها در اینجا اضافه می شود)
SUMMAFOX و SUMMACLP با مقادیر صفر در هر دو فایل).
آرشیو پیوست:
info.doc - نتایج آزمایش زمان اجرا.
fill.prg - متن کمکی برنامه هاروی کلیپر برای پر کردن فایل ها
calc.prg - متن برنامه کلیپر.
program1.prg - متن برنامه FoxPro.
makefill.bat - fill.exe را ایجاد می کند (باید کمی تنظیم شود)
makecalc.bat - testclp.exe را ایجاد می کند (همان چیز).
proj1.pjx - فایل پروژه در FoxPro.
testfox.dbf و testclp.dbf - فایل های داده (ایجاد شده در DBU).
testclp.cdx یک فایل فهرست است که توسط CLIPPER ایجاد شده است.
testfox.cdx یک فایل فهرست است که توسط FoxPro ایجاد شده است.
fill.exe - برنامهبرای پر کردن فایل ها
testclp.exe یک برنامه CLIPPER است.
testfox.exe یک برنامه FoxPro است.
Testfox.exe به یک محیط زمان اجرا (از VFP6) نیاز دارد
به احتمال زیاد کار نخواهد کرد، بنابراین باید از متن program1.prg استفاده کنید
و امکان تصحیح آن نیز وجود دارد).
برای کاهش حجم آرشیو، فایل های dbf حاوی 10 رکورد هستند؛ برای انجام تست های واقعی، تعداد رکوردها باید افزایش یابد.
اگر CLIPPER 5.2 دارید، باید fill.prg و сalc.prg را نیز تنظیم کنید.
سعی می کنم کمی بعد تست های CLIPPER "87، CLIPPER 5.2 و VFP6" را اجرا کنم، زیرا من با این نسخه ها کار نمی کنم و آنها در حال حاضر در حالت کار نیستند.
(و همچنین تست های متقابل مانند CLIPPER 5.2<->VFP8 و CLIPPER 5.3<->VFP6).
علیرغم سادگی ظاهری کار، باز هم زمان زیادی صرف شد، اما دقیقاً چنین مطالعات تطبیقی ​​عینی است که برای من جالب است. Andrey: ALGO می نویسد: بنابراین 2-4 ساعت زمان در مورد فناوری مدرن (و حتی 30 دقیقه) از نظر من "das ist fantastisch" است. مشکل به احتمال زیاد یا در یک الگوریتم غیراقتصادی است. طبیعی است، به هیچ وجه کار دیگری نمی کند. برای درک این الگوریتم، باید رکوردی از مقادیر 24 مقدار پول دریافتی، 24 تاریخ دریافتی، 24 تعرفه، 24 مقدار شارژ و غیره ارائه دهید. به یک ورودی در پایگاه داده این چیزی است که من در کلیپر نوشتم و هنوز آن را بازنویسی نکرده ام و احتمالا نخواهم کرد. من دیدم که چگونه محاسبه قبوض آب و برق در پلتفرم 1C نسخه 7.5 اجرا شد، بنابراین 9000 وجود دارد. مشترکین حدود 5 ساعت شارژ شدند. و هیچی، هیچ کس شکایت نکرد.

برنامه هایی برای بازیابی اطلاعات از دست رفته در رایانه شخصی.

جدید در دسته "بازیابی اطلاعات":

رایگان
UndeletePlus 3.0.2.406 یک برنامه کوچک است که فایل های پاک شده را بازیابی می کند. برنامه Undelete Plus به شما کمک می کند تا فایل های از دست رفته، از جمله موارد پاک شده در حالت DOS، از سطل بازیافت، از Windows Explorer یا درایو شبکه را بازیابی کنید.

رایگان
Scan DBF 1.6 نرم افزاری برای تعمیر یا بازیابی فایل های DBF آسیب دیده است. برنامه Scan DBF به شما کمک می کند تا فایل های آسیب دیده را در صورت قطع برق یا کامپیوتر، زمانی که انتهای یا هدر فایل DBF آسیب دیده است، بازیابی کنید.

رایگان
Recuva 1.42.544 است نرم افزار راحتدر مورد مرمت فایل های حذف شده. استفاده از برنامه Recuva آسان است و می‌تواند داده‌ها را بدون هیچ تنظیماتی یا برای کاربرانی که قبلاً با برنامه‌های مشابه مواجه نشده‌اند بازیابی کند.

رایگان
Recover My Files 4.9.4.1343 برنامه ای برای بازیابی فایل هایی است که با استفاده از سطل بازیافت در اتاق عمل حذف شده اند. سیستم ویندوز. همچنین اپلیکیشن Recover My Files قابلیت بازیابی فایل هایی را دارد که به دلیل فرمت دیسک از بین رفته، به دلیل خرابی کامپیوتر، اشکال نرم افزاری یا پاک شده توسط ویروس ها پاک شده اند.

رایگان
PC INSPECTOR File Recovery 4.0 نرم افزاری است که در صورت آسیب دیدن به بازیابی اطلاعات نیاز خواهید داشت. هارد دیسک. برنامه PC INSPECTOR File Recovery می تواند با فایل کار کند سیستم های چربی 12/16/32 و همچنین NTFS.

رایگان
OS Backup Wizard 1.19 یک برنامه پشتیبان برای ویندوز است. منحصر به فرد بودن این نرم افزارتوانایی آن در هنگام پشتیبان گیری از یک سیستم، عدم استفاده از فضای دیسک بیش از حد برای این کار است.

رایگان

رایگان
Norton Ghost 15.0.0.35659 نرم افزاری برای بایگانی و بازیابی داده ها در کامپیوترهای شخصی. این برنامه از پشتیبان گیری و بازیابی کار بدون راه اندازی مجدد سیستم پشتیبانی می کند.

رایگان
Handy Backup 7.1.1 یک برنامه کاربردی مناسب برای ایجاد خودکار کپی از داده ها و اسناد شما است که می تواند در هر دستگاهی (خارجی یا داخلی و همچنین روی CD-RW) ذخیره شود یا در سرور FTP آپلود شود.

رایگان
GetDataBack 4.25 ابزاری قدرتمند و راحت برای بازیابی اطلاعات از دست رفته، آسیب دیده یا حذف شده از هارد دیسک شما است. برنامه GetDataBack بصری را ارائه می دهد رابط شفافو عملکرد بهبود یافته است.

رایگان
BadCopy Pro 4.10.1215 نرم افزاری برای بازیابی اطلاعات از سی دی، فلاپی دیسک، دستگاه های فلش یا هارد دیسک هایی است که آسیب دیده اند، ویروس دارند، به اشتباه ضبط شده اند یا هر گونه خطا دارند. برنامه BadCopy زمانی که یک دایرکتوری بازیابی را مشخص می‌کنید، با قابلیت کار با فرمت‌های مختلف گرافیکی، متنی و فایل‌های اجرایی، بایگانی‌ها و انواع فایل‌های دیگر، به‌طور خودکار کار می‌کند.

رایگان
Acronis True Image Home 2011 Build 6942/ Home 2012 Build 5545 یک برنامه قدرتمند برای ایجاد تصاویر دقیق از پارتیشن های انتخاب شده دیسک یا خود دیسک ها است. اپلیکیشن Acronis True Image یک نسخه پشتیبان از تمامی داده ها، برنامه ها و سیستم عامل ها با این قابلیت ایجاد می کند بهبودی سریعیا کپی بر روی کامپیوتر دیگری با قابلیت ایجاد یک کپی کامل از این کامپیوتر.

رایگان
Acronis Disk Director 11 Home یک بسته نرم افزاری جامع با ابزارهای زیادی است که برای کار با پارتیشن ها و هارد دیسک لازم است. بسته نرم افزاری این قابلیت را دارد که دیسک ها و پارتیشن های شما را مدیریت کند و همچنین دیسک های بوت خود را برای پشتیبان گیری از سیستم و بازیابی سریع ایجاد کند.

رایگان
DiVFix 1.10 با استفاده از این برنامه می توانید به راحتی ویدیوهای .avi را که نیمه دانلود شده اند مشاهده کنید. DiVFix از مشاهده فایل‌های فرمت‌های ویدیویی مختلف، از جمله wmv. یا mpeg. پشتیبانی می‌کند. از آنجایی که فایل‌های avi تنها در صورت دانلود کامل قابل مشاهده هستند، به دلیل اینکه در انتهای فایل‌ها یک جدول فهرست وجود دارد و بدون آن باز نمی‌شود، نمی‌توان آن‌ها را روی سایر پلیرها پخش کرد.

رایگان
Avi Previewer 2.2.7 برنامه ای است که قابلیت مشاهده فایل های avi ناقص دانلود شده یا به سادگی آسیب دیده را دارد که روی پلیرهای معمولی قابل پخش نیستند و یا دارای نقص هستند. برنامه Avi Previewer به شما این امکان را می دهد که در صورت آسیب دیدن فایل ها، آنها را پس از حذف یا استخراج نادرست از آرشیو بازیابی کنید و مواردی از این قبیل.

رایگان
Advanced ZIP Password Recovery 4.00 برنامه ای با قابلیت بازیابی پسوردهای گم شده برای آرشیوهای ZIP است.

راه حل های کسب و کار

در صورت استفاده سرویس آنلاینو برای بازیابی غیرممکن است، می توانید یکی از ابزارهای زیر را دانلود کنید:

آنها علاوه بر توانایی بازیابی اطلاعات در خانه، قابلیت های نامحدودی را برای بازیابی تعداد زیادی فایل، پشتیبانی حرفه ای و بسیاری از گزینه های مفید دیگر برای کاربران شرکتی ارائه می دهند.

راهنمای ویدیویی برای استفاده از سرویس OfficeRecovery Online

درباره OfficeRecovery برای DBF Online

OfficeRecovery برای DBF Online پایگاه داده های آسیب دیده DBF (dbf) را بازیابی می کند.

نسخه های پشتیبانی شده Visual FoxPro:
9.0، 8.0، 7.0، 6.0، 5.0 و 3.0

داده های بازیابی شده در پایگاه داده Visual FoxPro جدید ذخیره می شوند.

پس از اتمام بازیابی فایل، می توانید نتایج دمو را ارزیابی کرده و ثبت نام کنید تا نتایج را به صورت رایگان دریافت کنید یا بلافاصله آنها را خریداری کنید. اگر فایل بازیابی نشد، می توانید آنالیز آن را به تیم متخصص مجرب ما سفارش دهید.

نمونه هایی از استفاده

خدمات بازیابی فایل های آسیب دیدهزمانی که فایل dbf در مایکروسافت ویژوال فاکس پرو باز نمی شود و هنگام باز کردن، خطاها یا هشدارهایی را مشاهده می کنید، می توان از DBF استفاده کرد.

به منظور بازیابی سریع آسیب دیده فایل dbf، پایگاه داده dbf را در ما آپلود کنید سرویس ابریبازیابی با استفاده از فرم موجود در این صفحه.

توجه به این نکته ضروری است که اگر فرآیند بازیابی موفقیت آمیز باشد، در نهایت یک فایل dbf آماده برای استفاده خواهید داشت. با انتخاب گزینه های پولی یا رایگان می توانید یک پایگاه داده dbf به طور کامل بازیابی شده دریافت کنید.

ویژگی های استاندارد:

  • پشتیبانی از پایگاه داده داده های مایکروسافت Visual FoxPro، dBASE، FoxBASE DBF
  • بازیابی ساختار جدول و داده ها
  • یک پایگاه داده جدید (dbf.) با داده های بازیابی شده ایجاد کنید
  • استفاده آسان، نیازی به مهارت خاصی ندارد

شرح بازیابی فایل با استفاده از OfficeRecovery برای DBF Online

dbf های خراب فایل هایی هستند که به طور ناگهانی غیر قابل استفاده شده اند و نمی توان با آنها باز کرد با استفاده از مایکروسافتویژوال فاکس پرو دلایل متعددی وجود دارد که چرا یک فایل dbf می تواند خراب شود. و در برخی موارد امکان تعمیر و بازیابی فایل dbf آسیب دیده (Visual FoxPro 9.0, 8.0, 7.0, 6.0, 5.0, 3.0) وجود دارد.

اگر پایگاه داده dbf شما به طور ناگهانی در برنامه ای که آن را ایجاد کرده است خراب شد یا باز نشد، ناامید نشوید! دیگر نیازی نیست گران بخرید نرم افزاربرای بازیابی تنها یک فایل dbf آسیب دیده. OfficeRecovery for DBF Online یک سرویس آنلاین جدید را به شما معرفی می کند که به شما کمک می کند تا پایگاه داده dbf آسیب دیده را بلافاصله بازیابی کنید. تنها کاری که باید انجام دهید این است که به سادگی فایل dbf آسیب دیده را با استفاده از یک مرورگر دانلود کنید، کیفیت نتایج نسخه ی نمایشی بازیابی را ارزیابی کنید و راه حلی را که مناسب شماست انتخاب کنید.

OfficeRecovery Online for DBF از Microsoft Visual FoxPro 9.0، 8.0، 7.0، 6.0، 5.0، 3.0 پشتیبانی می کند. داده های بازیابی شده در پایگاه داده Visual FoxPro جدید ذخیره می شوند.

OfficeRecovery برای DBF Online گزینه های رایگان و پولی را برای نتایج بازیابی کامل ارائه می دهد. گزینه رایگان به این معنی است که نتایج کامل را می توان کاملاً رایگان در عرض 14-28 روز به دست آورد. تنها کاری که باید انجام دهید این است که پس از تکمیل فرآیند بازیابی فایل dbf، به سادگی برای نتایج رایگان مشترک شوید. اگر می خواهید فایل dbf بازیابی شده را فوراً دریافت کنید، باید یک گزینه پولی به جای رایگان انتخاب کنید.

اگر اطلاعات بازیابی در فایل dbf شما شناسایی نشده باشد، چه باید کرد؟ شما می توانید درخواست تجزیه و تحلیل غیر قابل استرداد فایل خود را توسط تیم فنی مجرب ما داشته باشید. در برخی موارد، بازیابی اطلاعات تنها به صورت دستی امکان پذیر است.

افراد در پی داشتن شرایط کاری راحت، اغلب به ایمنی و امنیت داده های خود فکر نمی کنند و دیر یا زود با مشکلاتی از دست دادن خود مواجه می شوند. بیایید درخواست مشتری برای USB Flash 2Gb Transcend را در نظر بگیریم. به گفته مشتری، یک روز هنگام نصب درایو در پورت USBاز کامپیوتر خواسته شد تا آن را فرمت کند. به گفته مشتری، او این کار را رد کرد و برای کمک به مدیر سیستم مراجعه کرد. مدیر سیستم، با کشف این که چه زمانی اتصال USBدرایو کامپیوتر را به حالت تعلیق در می آورد، من نمی توانستم چیزی بهتر از موافقت با این پیشنهاد فکر کنم سیستم عاملفرمتش کن ( هرگز این کار را نکنید!). بعد، مدیر سیستم استفاده کرد برنامه محبوبریکاوری خودکار R-Studio. نتیجه کار او در قالب پوشه های بدون نام در درایو دیگری به مشتری کپی شد. هنگام مشاهده نتیجه، مشتری متوجه شد که حدود یک چهارم از فایل ها قابل باز شدن نیستند و بدتر از همه، 1C Accounting 7.7 از شروع با پایگاه داده بازیابی شده خودداری کرد و دلیل آن فایل های از دست رفته بود.

آنطور که مشخص شد، نسخه پشتیبانپایگاه داده مشتری بیش از یک سال قدمت دارد.

اولین مرحله در حل چنین مشکلاتی ایجاد یک کپی بلوک به بلوک از درایو اصلی است (یا همانطور که از زمان هایی که فقط درایوهای فلاپی و دیسک مغناطیسی سخت رسانه ذخیره سازی بودند، نوشتن مرسوم بوده است، بخش به بخش. ). هنگام تفریق، سرعت خواندن ناپایدار تشخیص داده می شود که نشان دهنده سایش جدی است حافظه NAND(خواندن چندگانه NAND توسط کنترل کننده صفحه حافظه NAND و تصحیح خطا به دلیل افزونگی کدهای تصحیح خطا (ECC) یک عملیات بسیار منابع فشرده است که در نهایت سرعت خواندن را تحت تأثیر قرار می دهد). اگر بخش های خوانده نشده وجود دارد، لازم است آنها را با یک الگو پر کنید، که بعداً به ما کمک می کند تا فایل هایی را که به طور کامل خوانده نشده اند شناسایی کنیم.

در ادامه به سراغ تحلیل می رویم. باید مشخص شود که کدام سیستم فایل و در چه مرزهایی قبلاً روی فلش USB قرار داشته است. به این معنی که جستجو برای عبارات منظم خاص برای متادیتاهای مختلف سیستم فایل ضروری است، اما قبل از شروع، اجازه دهید یک گزینه ساده را بررسی کنیم که فرض می‌کند مرزهای پارتیشن یکسان هستند. برای انجام این کار، پارامترهای فعلی را تنظیم کنید سیستم فایل.

LBA 0 (0x0 در فایل تصویر) را باز کنید و وجود جدول پارتیشن یا وجود بخش Boot سیستم فایل را بررسی کنید.


برنج. 2

در مورد ما، ما با افست 0x1C2 پارتیشن نوع 0x0B می بینیم، به این معنی که در این لحظهبر درایو یو اس بییک پارتیشن FAT32 وجود دارد که از بخش 0x80 (DWORD در افست 0x1C6)، طول بخش‌های 0x003C2000 (DWORD در افست 0x1CA) شروع می‌شود. به بخش بوت پارتیشن توصیف شده در بخش 0x80 بروید (در فایل تصویر بایت 0x10000)


برنج. 3

باید نقطه شروع، یعنی محل قرارگیری خوشه صفر را که فضا با آن محاسبه می شود محاسبه کرد و همچنین اندازه خوشه را تعیین کرد.

برای انجام این کار، به پارامترهای زیر که در بخش راه‌اندازی توضیح داده شده است نیاز داریم (از ابتدای بخش به عنوان یک افست نشان داده می‌شود): اندازه بخش در افست 0x0B - 0x200 (512 بایت)، تعداد بخش‌ها در خوشه در افست 0x0D - 0x08، اندازه خوشه با ضرب سکتورهای اندازه در تعداد سکتورها در خوشه 0x08*0x0200=0x1000 (4096 بایت)، تعداد سکتورهای رزرو شده تا اولین کپی جداول FAT - در افست 0x0E=0x01FE (510 سکتور) به دست می آید. )، تعداد کپی های FAT - در افست 0x10=0x02، اندازه یک کپی FAT - در افست 0x24=00000F01 (3841 بخش). با استفاده از پارامترهای به دست آمده، موقعیت ابتدای ناحیه داده را محاسبه خواهیم کرد: 0x10000+0x01FE*200+0x00000F01*2*200=0x410000 (بخش 8320). یک نکته کوچک از سازندگان FAT32 این است که در حال حاضر ما شروع منطقه داده را برای پارتیشن FAT32 محاسبه کرده ایم، اما این یک نقطه مرجع صفر نیست، زیرا دو ورودی اول در جدول FAT رزرو شده اند و نیستند. برای هدف مورد نظر خود استفاده می شود، و بنابراین نقطه صفر شروع منطقه داده منهای 2 خوشه است. در این حالت 0x410000-0x1000*2=0x40E000 (بخش 8318) خواهد بود.

ما عدم وجود ورودی ها را در جدول تخصیص فایل بررسی می کنیم و رویه ای را برای مقایسه کپی ها از نظر مغایرت انجام می دهیم.


برنج. 4

مقایسه نسخه های FAT نشان داد که هیچ مغایرتی وجود ندارد. تجزیه و تحلیل محتویات یکی از نسخه های FAT نشان داد که طبق جدول، تنها یک خوشه روی پارتیشن پر شده است.

در مرحله بعد، باید دایرکتوری ریشه را برای ورودی های حذف شده ارزیابی کنید. موقعیت اولین خوشه دایرکتوری ریشه در بخش بوت با offset 0x2C=0x00000002 نشان داده شده است. برای خوشه دوم، FAT FF FF FF 0F را نشان می دهد که به معنای انتهای زنجیره است، یعنی دایرکتوری ریشه از یک خوشه تشکیل شده است.


برنج. 5

از آدرس محاسبه شده در بالا، دایرکتوری ریشه (دایرکتوری ریشه) را می بینیم که حاوی یک ورودی 32 بایتی است. در آفست 0x0B مقدار 0x08 را می بینیم که نشان دهنده نوع رکورد - برچسب حجم است. این واقعیت که جداول تخصیص فایل با صفر پر شده است و هیچ اشاره ای به هیچ ورودی دیگری در دایرکتوری ریشه وجود ندارد، نشان می دهد که این پارتیشن فرمت شده است.

برای بررسی این فرض که پارتیشن دوباره ایجاد نشده است و تمام پارامترهای سیستم فایل صحیح هستند، باید عبارت منظم 0x2E 0x2E 0x20 0x20 0x20 0x20 0x20 0x20 را با یک افست در داخل بخش 0x20 جستجو کنید. این بیاننشانه شروع دایرکتوری FAT32).


برنج. 6

هنگام پیدا کردن یک عبارت منظم، باید مطمئن شوید که این واقعاً یک فهرست است، بر اساس معیارهای دیگر، زیرا در برخی موارد یک تطبیق ممکن است و مورد یافت شده عبارت منظمیک عنصر دایرکتوری نیست. با توجه به اطلاعات در شکل. 6، می توان گفت که این دایرکتوری با خوشه 3 شروع شد (تعداد خوشه فعلی دایرکتوری DWORD در WORD در افست 0x1A (قسمت پایین) و WORD در افست 0x14 (قسمت بالا) موجود است) و در ریشه توضیح داده شد. دایرکتوری، زیرا در آفست 0x3A و 0x34 حاوی صفر است (خوشه اولیه دایرکتوری والد). بیایید بررسی کنیم که آیا شماره کلاستر این دایرکتوری با نقطه مرجع صفر سیستم فایل ایجاد شده پس از قالب بندی مطابقت دارد یا خیر. برای این کار، عدد خوشه دایرکتوری را در اندازه خوشه فعلی ضرب کنید و 0x03*0x1000+0x40E000=0x411000 را به نقطه صفر اضافه کنید. همانطور که می بینید، آدرس صورتحساب با مکان واقعی مطابقت دارد. تنظیم نام این دایرکتوری تنها در صورتی امکان پذیر است که دایرکتوری ریشه قبلاً از بیش از یک خوشه تشکیل شده باشد و پیوند به این دایرکتوری در اولین کلاستر نباشد، زیرا محتویات اولین کلاستر در طول قالب بندی به طور کامل از بین رفته است. جداول تخصیص فایل


برنج. 7

همه بررسی ها را تکرار می کنیم: 0x04*0x1000+0x40E000=0x412000. دوباره می بینیم که موقعیت دایرکتوری با پارامترهای سیستم فایل فعلی مطابقت دارد. اما، علاوه بر این، می بینیم که یک عدد خوشه ای از دایرکتوری والد 0x03 وجود دارد که نشان می دهد این دایرکتوری تودرتو بوده است و با نگاه کردن به شکل. 6، می توانید نام دایرکتوری را که در شکل نشان داده شده است را تنظیم کنید. 7. بنابراین، مطابق شکل. 6، در آفست 0x4B مقدار 0x10 را می بینیم - این به این معنی است این ورودیبه دایرکتوری اشاره می کند و در آفست 0x5A و 0x54، عدد 0x00000004 نشانگر خوشه چهارم است. در افست 0x40 - نام دایرکتوری "BIN". به این ترتیب ارتباط دایرکتوری ها در یک پارتیشن FAT آسیب دیده برقرار می شود. پس از انجام تعداد معینی بررسی دایرکتوری در قسمت های مختلف تصویر، می توانیم نتیجه نهایی را بگیریم که این درایوقالب بندی در داخل مرزهای سیستم فایل قبلی انجام شده است و پارامترهای سیستم فایل جدید ایجاد شده از سیستم قبلی به ارث برده شده است، یعنی با در نظر گرفتن پارتیشن شرح داده شده در جدول پارتیشن، عملیات تحلیلی بیشتری باید انجام شود. پارامترهای سیستم فایل فعلی

با دانستن اینکه پایگاه داده 1C، متشکل از فایل های DBF، باید حاوی فایل پیکربندی 1CV7.MD باشد، دنباله 0x31 0x43 0x56 0x37 0x20 0x20 0x20 0x20 0x4D 0x44 را جستجو می کنیم. به منظور کاهش تعداد نتایج اشتباه عمدی، بهتر است جستجو در بلوک های 32 بایتی با افست صفر انجام شود.


برنج. 8

بنابراین، ما تمام دایرکتوری های حاوی اشاره گر به فایل 1CV7.MD را پیدا می کنیم. در مورد ما، فقط یک دایرکتوری از این دست یافت شد که نشان می‌دهد اولین خوشه دایرکتوری مورد نیاز را پیدا کردیم. این امر با تجزیه و تحلیل موقعیت دایرکتوری های والد، تا دایرکتوری ریشه دنبال می شود. هر دایرکتوری یافت شده در جدول FAT ثبت می شود (ابتدا به عنوان دایرکتوری از یک خوشه، با نوشتن FF FF FF 0F برای عنصر جدول مربوطه). پیوندی به یک شی فرزند نیز در دایرکتوری ریشه نوشته شده است.

در مرحله فعلی، ما فایل های یافت شده را با فرض تداوم آنها کپی می کنیم، زیرا هر دو نسخه FAT حاوی اطلاعاتی در مورد تکه تکه شدن نیستند (به یاد بیاورید که آنها به طور جبران ناپذیر تخریب شده اند. مدیر سیستمدر نتیجه فرمت بدون فکر فلش USB). پس از کپی کردن دایرکتوری پایگاه داده 1C، تعداد فایل ها را تجزیه و تحلیل می کنیم. با توجه به اینکه قطعه دایرکتوری به اندازه یک خوشه بود، ما بیش از 126 فایل را استخراج نکردیم، که به وضوح بسیار کمتر از آنچه باید در یک فهرست با فایل های DBF و CDX مربوط به پایگاه داده 1C باشد. برنامه های بازیابی خودکار تقریباً همان نتیجه را ایجاد می کنند، همانطور که نتیجه به دست آمده توسط مدیر سیستم با استفاده از R-Studio نشان می دهد.

فایل های استخراج شده شامل 1CV7.MD (فایل پیکربندی) و 1CV7.DD (فایل دیکشنری داده ها) می باشد. پس از انجام بررسی یکپارچگی، یک پوشه موقت روی دیسک خود ایجاد می کنیم که در آن 1CV7.MD را قرار می دهیم. هنگام اضافه کردن این مسیر را نشان خواهیم داد پایه جدیدو پیکربندی را باز کنید که از طریق آن یک پایگاه داده تمیز بر اساس این پیکربندی ایجاد می کنیم. بیایید فایل DD تولید شده را با فایل بازیابی شده مقایسه کنیم؛ اگر توضیحات و تعداد دایرکتوری ها یکسان باشد، هیچ اقدام اضافی لازم نیست، و لیست کاملفایل ها، می توانید شروع به جستجوی قطعات باقی مانده از فهرست پایگاه داده 1C کنید. برای انجام این کار، باید دنباله هایی از کدهای کاراکتر ASCII استفاده شده در نام فایل های DBF گم شده را جستجو کنید. همانطور که قطعات دایرکتوری کشف می شوند، ادامه زنجیره را به جدول تخصیص فایل اضافه کنید. پس از هر عملیات افزودن یک زنجیره دایرکتوری، فایل ها را کپی کنید و تجزیه و تحلیل کنید که تعداد فایل های DBF از دست رفته چقدر کاهش یافته است، و دوباره دنباله ای از کدهای کاراکتر ASCII را برای جستجوی قطعه بعدی تشکیل دهید.


برنج. 9

همچنین لازم به یادآوری است که هنگام نوشتن زنجیره ای از قطعات دایرکتوری در جدول تخصیص فایل، لازم است قطعات را تجزیه و تحلیل کنید تا رکوردهای LFN مطابقت داشته باشند. فقط در صورت ورودی های کوتاهزنجیره را می توان با هر ترتیبی از قطعات نوشت.

در این حالت، پس از جستجوی 5 دنباله، ما توانستیم تمام قطعات باقیمانده دایرکتوری را با پایگاه داده 1C پیدا کنیم.

پس از اینکه زنجیره کامل قطعات دایرکتوری ساخته شد، همه فایل های پایگاه داده 1C را با فرض تداوم آنها دوباره کپی می کنیم. اطلاعات کاربر در فایل های DBF موجود است، بنابراین لازم است یکپارچگی آنها بررسی شود.

روش اصلی نظارت بر یکپارچگی یک فایل DBF، بررسی اطلاعات موجود در هدر سرویس و مطابقت محتوای فایل با توضیحات هدر است.


برنج. 10

در ابتدا، هدر ارزیابی می شود: طول آن، نشان داده شده در افست 0x08، بررسی می شود تا ببینیم آیا افست مشخص شده در آن به نشانگر انتهایی 0x0D منتهی می شود. رکوردهای فیلد پایه، که از آفست 0x20 شروع می شوند، با رکوردهای 32 بایتی توصیف می شوند که در آنها نام فیلد با آفست 0x00، نوع فیلد در آفست 0x0B و اندازه فیلد در افست 0x10 دنبال می شود. مجموع اندازه های فیلد +1 (یک بایت اضافی برای هر رکورد در پایگاه داده، وضعیت رکورد در DBF است) باید با محتویات آفست 0x0A (اندازه یک رکورد در پایگاه داده) برابر باشد. در تصویر فایل های DBF طول فیلد زیر را مشاهده می کنیم: 0x09+0x10+0x10+0x10+0x10+0x10+0x01=0x5A.

بیایید بررسی کنیم که آیا اندازه فایل درست است یا خیر. برای انجام این کار، تعداد رکوردهای نشان داده شده در هدر را در افست 0x04 در اندازه یک رکورد در پایگاه داده در افست 0x0A ضرب می کنیم و به دنبال آن با محتویات در افست 0x08 جمع می کنیم.

0x00000003*0x005A+0xE1=0x01EF. آفست حاصل باید حاوی نشانگر انتهای فایل 0x1A باشد.

می توانید از یک روش بصری برای نظارت بر یکپارچگی محتوای میدان استفاده کنید.

در این گزینه مشاهده باید از ابتدا تا انتها در مطالب پست ها اسکرول کنید. اگر پر کردن همگن باشد، هر فیلد حاوی انواع داده‌هایی است که مشخصه آن چیزی است که در هدر توضیح داده شده است و محتوای خارجی وجود ندارد، پس از مشاهده فایل DBF می‌توانید نتیجه بگیرید که محتوای آن درست است.

اگر محتوایی شناسایی شد که با توضیحات فیلد در هدر پایگاه داده مطابقت ندارد، لازم است مکان دقیق شروع داده های نادرست تعیین شود.


برنج. 12

بر اساس توضیحات فیلدهای هدر و محتویات یک فایل DBF خاص، می توان توالی های آزمایشی ASCII را تولید کرد که باید در جابجایی های مشخص شده در قطعات گم شده قرار گیرند. اگر هیچ پایگاه داده ای از همان نوع در یکی از درایوها وجود نداشته باشد (از جمله کپی فایل های همان پایگاه داده)، این روش به شما امکان می دهد تا نسبتاً سریع تمام قطعات گم شده را در تصویر درایو پیدا کنید. به طور جداگانه، ما توجه می کنیم که اگر اندازه رکورد در فایل DBF کوچک یا مضربی از 16 باشد، در اتصال قطعات مشکلات بیشتری ایجاد می شود. اگر پایگاه داده های دیگری از همان نوع وجود داشته باشد، کار چندین برابر پیچیده تر خواهد شد (این عبارت درست در تمام مراحل کار، شروع با جستجوی قطعات دایرکتوری مورد نظر).

لازم است یکپارچگی هر فایل DBF را بررسی کنید، که چندین صد مورد در یک پایگاه داده 1C وجود دارد. پس از گذراندن همه بررسی ها و جمع آوری قطعات فایل، یک بررسی نهایی در پیکربندی 1C Enterprise دنبال می شود.


برنج. 13

در حالت ایده آل، با توجه به نتایج آزمون، تمام نقاط علامت گذاری شده در چک باکس ها باید با موفقیت بگذرد. اگر خطا در دو نقطه اول شناسایی شد، لازم است که لاگ خطا را در پیکربندی تجزیه و تحلیل کنید و ببینید کدام فایل های DBF حاوی داده های خارجی هستند که در طول بررسی ها شناسایی نشده اند. اگر هنگام بررسی یکپارچگی منطقی خطاها شناسایی شوند، مجدداً لازم است گزارش خطا را تجزیه و تحلیل کنید تا بفهمید که آیا مشکل پایگاه داده در کیفیت مجموعه آن است یا در خطاهای ایجاد شده توسط توسعه دهندگان پیکربندی 1C.

اجازه دهید توجه را به این واقعیت جلب کنیم که اگر این فلش USB فرمت نشده بود، پس از تصحیح آن، روند بازیابی اطلاعات بسیار ساده تر بود که هزینه و زمان انجام کار را بسیار کاهش می داد. در پایان، من می خواهم به همه کاربران و پرسنل تعمیر و نگهداری در مورد اقدامات بثورات در مواقع اضطراری هشدار دهم، که به طور مکرر مشکل را تشدید می کند، و همچنین مایل به انجام عملیات پشتیبان گیری بیشتر هستند.