지금 공유 :
차례 숨기기

부패한 DBF 이 파일은 회계 시스템, 재고 데이터베이스 및 CRM 애플리케이션을 마비시킬 수 있습니다. 이 가이드에서는 이러한 문제를 해결하는 모든 실용적인 방법을 다룹니다. DBF file, from simple associated-file checks to hex-level reconstruction, ordered from least to most invasive.

1. 소개

1.1 무엇이 DBF 파일?

A DBF .txt 파일은 원래 dBASE용으로 개발되었으며 이후 FoxPro, Clipper, Visual FoxPro 및 많은 기존 비즈니스 애플리케이션에서 채택된 구조화된 테이블 형식 데이터베이스 파일 형식으로, 일반적으로 회계 기록, 재고 테이블 및 고객 데이터에 사용됩니다.

A DBF 데이터베이스에는 일반적으로 여러 개의 보조 파일이 포함됩니다.

  • .cdx / .idx복합 및 단일 인덱스 파일을 사용하여 레코드 조회 속도를 향상시킵니다.
  • .fpt / .dbt: 메인 테이블에서 참조되는 가변 길이 텍스트 또는 이진 데이터를 저장하는 메모 필드 파일입니다.
  • .dbc: Visual FoxPro에서 관련 테이블, 뷰 및 저장 프로시저를 연결하는 데 사용되는 데이터베이스 컨테이너 파일입니다.

1.2 징후 DBF 파일이 손상되었습니다

다음 증상들은 a를 나타냅니다. DBF 파일이 손상되었을 수 있으며 복구가 필요합니다.

  • "테이블이 아닙니다" 오류애플리케이션이 파일 헤더의 첫 번째 바이트를 유효한 값으로 인식하지 못합니다. DBF 버전 표시자.
  • "파일이 데이터베이스가 아닙니다" 오류파일 헤더 구조를 읽을 수 없거나 덮어쓰기되었습니다.
  • 애플리케이션 실행 중 충돌 발생: The host program freezes or terminates when attempting to load the file.
  • 기록이 손상되었거나 누락되었습니다.행에 잘못된 문자가 표시되거나, 값이 잘리거나, 아예 표시되지 않습니다.
  • 잘못된 레코드 수애플리케이션에서 보고된 레코드 수가 파일의 실제 행 수와 일치하지 않습니다.
  • 인덱스 오류응용 프로그램에서 인덱스 불일치가 발생하거나 존재해야 할 레코드를 찾지 못했습니다.
  • 파일 크기가 0바이트이거나 비정상적으로 작습니다.: The file has lost its content due to an interrupted write operation.

1.3 일반적인 원인 DBF 파일 손상

  • 부적절한 종료 및 전원 공급 중단파일이 열려 있는 동안 정전이 발생하거나 강제로 재부팅되면 쓰기 작업이 중단되어 파일이 일관되지 않은 상태가 됩니다.
  • 다중 사용자 접근 충돌: 여러 사용자가 동일한 파일을 열고 쓰는 경우 DBF 네트워크를 통해 파일을 동시에 전송하면 데이터 레코드와 인덱스 파일 모두 손상될 수 있습니다.
  • 인덱스 파일 손상: 누락되었거나 손상됨 .cdx / .idx 파일들 때문에 핵심 데이터 레코드는 온전한 상태이더라도 데이터베이스가 손상된 것처럼 보일 수 있습니다.
  • 삭제된 레코드의 누적 및 단편화삭제 대상으로 표시되었지만 실제로 삭제되지 않은 레코드는 시간이 지남에 따라 누적되어 구조적 불일치를 초래할 수 있습니다.
  • 소프트웨어 오류 및 바이러스 공격쓰기 작업 중 애플리케이션 충돌이 발생하거나 악성 프로그램이 파일 바이트를 덮어쓰면 헤더, 필드 설명자 또는 데이터 레코드가 손상될 수 있습니다.

2. 수리 전: 필수적인 첫 단계

데이터 손상이 악화되거나 영구적으로 데이터가 손실되는 것을 방지하려면 복구 방법을 시도하기 전에 다음 두 단계를 수행하십시오.

2.1 파일을 반복적으로 열지 마세요

애플리케이션이 손상된 파일을 로드하려고 할 때마다 DBF 파일을 열면 파일에 추가 데이터가 기록되거나 헤더가 업데이트되어 손상이 더욱 악화될 수 있습니다. 파일이 손상된 것으로 의심되는 즉시 파일 열기를 중지하십시오.

2.2 백업 복사본 생성

다른 작업을 하기 전에 먼저 손상된 파일을 복사하고 이름을 변경하세요(예: filename_backup.dbf). Perform every repair attempt on the copy, never on the original. If a repair method makes the problem worse, you can start over from the untouched original.

또한, 모든 관련 파일도 백업하십시오..cdx, .idx, .fpt, .dbt) together with the main .dbf 파일.

3. 방법 1: 관련 파일 확인 및 복원

많은 명백한 DBF 파일 손상은 실제로 누락되었거나 일치하지 않는 관련 파일로 인해 발생합니다. 파일 수준 복구를 시도하기 전에 이러한 파일을 확인하십시오.

3.1 누락된 인덱스 파일(.cdx / .idx) 식별

다음 내용이 포함된 폴더를 엽니다. .dbf 파일을 열고 예상되는 모든 인덱스 파일이 있는지 확인하십시오. Visual FoxPro 테이블의 이름은 다음과 같습니다. 명령.dbf예를 들어, 일반적으로 동반자가 있습니다. 주문.cdx인덱스 파일이 없으면 데이터 자체는 손상되지 않았더라도 애플리케이션에서 오류를 보고합니다.

3.2 누락된 메모 파일(.dbt / .fpt) 식별

테이블에 메모 필드가 포함되어 있으면 해당 메모 파일(.fpt Visual FoxPro의 경우, .dbt (dBASE III/IV의 경우) 메모 파일은 동일한 폴더에 있어야 합니다. 메모 파일이 없으면 레코드의 나머지 부분이 손상되지 않았더라도 메모 값을 참조하는 모든 레코드에서 읽기 오류가 발생합니다.

3.3 누락된 파일 복구

인덱스 파일이 누락된 경우 다음 명령을 사용하여 다시 빌드하십시오. 재색인 만약 메모 파일이 누락되었고 백업 파일도 없다면, 해당 레코드의 메모 필드 데이터는 복구할 수 없지만, 헤더에서 메모 파일 참조를 제거한 후 테이블을 열면 메모 필드가 아닌 다른 필드에는 계속 접근할 수 있습니다. 16 진수 편집기.

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 rebuilds all index files associated with the open DBF. It resolves index-related failures that cause records to appear missing or cause the application to report that the file cannot be read.

4.4 PACK을 사용하여 테이블을 접어서 보관하세요

파일을 단독 모드로 연 상태에서 다음 명령을 실행하세요.

PACK

PACK 삭제 대상으로 표시된 모든 레코드를 물리적으로 제거하고 파일을 압축합니다. 이를 통해 삭제된 레코드가 과도하게 누적되어 발생하는 문제를 해결할 수 있습니다.

경고: PACK 표시된 레코드를 영구적으로, 그리고 돌이킬 수 없이 삭제합니다. 백업 복사본에서만 실행하십시오.

4.5 PACK MEMO를 사용한 수리 메모 필드

테이블에 메모 필드가 포함되어 있는 경우, 다음 명령을 실행하십시오. PACK:

PACK MEMO

PACK MEMO 메모 파일을 압축합니다..fpt / .dbt사용되지 않는 메모 블록을 제거하고 메모 파일과 기본 테이블 간의 크기 불일치를 수정합니다.

경고PACK MEMO 삭제된 레코드의 메모 데이터와 덮어쓰기된 메모 값을 되돌릴 수 없이 영구적으로 삭제합니다. 백업 복사본에서만 실행하십시오.

5. 방법 3: 다른 애플리케이션에서 열기

때로는 기본 애플리케이션에서 파일을 열 수 없더라도, 해당 파일을 더 호환성이 높은 애플리케이션에서 열면 데이터를 복구할 수 있습니다.

5.1 리브레오피스 칼크

LibreOffice Calc에는 dBASE 가져오기 필터가 내장되어 있으며 부분적으로 손상된 여러 소스에서 원시 데이터를 읽을 수 있습니다. DBF 파일 :

  • We Buy Orders 신청서를 클릭하세요. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 엽니다 선택하고 .dbf 파일을 엽니다. LibreOffice는 문자 인코딩을 선택할 수 있는 가져오기 대화 상자를 표시합니다.
  • 파일이 로드되면 데이터는 스프레드시트 형식으로 나타납니다. 부분적으로 손상된 파일이라도 읽을 수 있는 레코드가 포함된 상태로 로드되는 경우가 많습니다.
  • 복구된 데이터를 다음 방법을 통해 내보내세요. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 다른 이름으로 저장 선택하고 텍스트 CSV or Microsoft Excel에서 형식을 지정한 다음 다시 생성합니다. DBF 필요한 경우 내보낸 데이터에서 가져옵니다.

LibreOffice Calc를 사용하여 손상된 파일을 열고 복구하세요. DBF 파일.

주의 사항열 때 DBF Visual FoxPro로 생성된 파일은 다음을 사용합니다. 32-bit LibreOffice 버전입니다. Visual FoxPro의 파일 형식은 64비트 아키텍처를 지원하지 않으므로 64비트 빌드에서 제대로 로드되지 않을 수 있습니다.

5.2 오픈오피스 칼크

OpenOffice는 LibreOffice와 유사하지만 몇 가지 보안 취약점이 있습니다. LibreOffice를 사용할 수 없는 경우에만 사용하십시오.

OpenOffice Calc를 사용하여 손상된 파일을 열고 복구하세요. DBF 파일.

5.3 DBF 주문하기

DBF Commander is a dedicated DBF 더 넓은 범위의 파일을 처리할 수 있는 뷰어 및 편집기 DBF 범용 애플리케이션보다 하위 버전:

  • 다운로드 및 설치 DBF 사령관님, 그럼 발사하십시오.
  • We Buy Orders 신청서를 클릭하세요. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 엽니다 손상된 파일을 로드합니다. .dbf 파일. DBF Commander는 파일 구조를 자동으로 분석하고 로드 시 사소한 손상을 수정하려고 시도합니다.
  • 데이터를 읽을 수 있다면 다음으로 이동하세요. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 다른 이름으로 저장 원본 백업을 보존하기 위해 새 파일 이름으로 저장하세요.

  DBF 사령관은 부패한 것을 열고 수리해야 합니다. DBF 파일.

5.4 Xbase++

Xbase++는 고급 기능을 갖춘 개발 환경입니다. DBF 이전 FoxPro 또는 dBASE 환경에서 오류를 일으키는 손상 유형을 처리할 수 있는 호환성:

  • 손상된 파일을 로드하세요 DBF Xbase++ 파일 관리 기능을 사용하여 파일을 생성합니다.
  • Run the built-in diagnostic and repair routines, which can address damaged indexes and data entry errors that other tools cannot handle.

xBase++를 사용하여 손상된 파일을 열고 복구하세요. DBF 파일.

6. 방법 4: 텍스트/헥스 편집기를 이용한 수동 복구

위의 방법들이 실패할 경우, 텍스트 편집기나 헥스 편집기를 사용한 수동 검사를 통해 원본 파일 내용을 살펴보고, 손상되지 않은 데이터를 복사하여 작동하는 데이터베이스를 재구성할 수 있습니다. 이 방법은 주의가 필요하며 기본적인 이해가 요구됩니다. DBF 파일 구조.

6.1 DBF 기본 구조 개요

A DBF 이 파일은 네 개의 순차적인 섹션으로 구성됩니다.

  • 파일 헤더(32바이트)첫 번째 바이트는 다음을 식별합니다. DBF 버전 (예를 들어, 0x03 메모 기능이 없는 dBASE III의 경우, 0x30 (Visual FoxPro용). 1~3바이트에는 마지막 업데이트 날짜(YY/MM/DD)가 저장됩니다. 4~7바이트에는 총 레코드 수가 32비트 정수로 저장됩니다. 8~9바이트에는 헤더 크기가 바이트 단위로 저장되고, 10~11바이트에는 고정 레코드 크기가 바이트 단위로 저장됩니다.
  • 필드 설명자 배열헤더 바로 뒤에 필드당 하나씩, 총 32바이트 크기의 항목들이 연속적으로 나열됩니다. 각 항목에는 필드 이름(0~10바이트, 널 문자로 채워짐), 필드 유형(11바이트: C=문자열, N=숫자, D=날짜, L=논리열, M=메모), 필드 길이(16바이트), 소수점 이하 자릿수(17바이트)가 저장됩니다. 배열은 쉼표(,)로 끝납니다. 0x0D 바이트.
  • 데이터 기록: 고정 길이 레코드로, 각 레코드의 너비는 헤더에 저장된 레코드 크기와 정확히 같습니다. 각 레코드의 첫 번째 바이트는 삭제 플래그입니다.0x20 = 활성 레코드, 0x2A = 삭제된 레코드).
  • EOF 마커: 1바이트(0x1A) 파일의 끝을 나타냅니다.

6.2 텍스트 편집기를 사용하여 읽기 쉬운 데이터 얻기

때문에 DBF 바이너리 형식이므로 텍스트 편집기는 다음을 수행해야 합니다. 않습니다. 파일을 직접 편집하는 데 사용할 수 있습니다. 하지만 필드 이름과 문자 데이터 레코드와 같이 읽을 수 있는 부분을 표시하여 이를 복사하고 새 데이터베이스를 재구성할 수 있습니다.

다음은 사용할 수 있는 인기 있는 텍스트 편집기 몇 가지입니다.

  • Notepad++ (윈도우)손상된 파일을 엽니다. DBF Notepad++에서 파일을 엽니다. 필드 설명자 배열의 필드 이름과 데이터 레코드의 문자 필드 값은 바이너리 콘텐츠를 제외하고 읽을 수 있는 ASCII 텍스트로 표시됩니다. 필드 이름, 유형 및 복구 가능한 데이터 행을 식별하고 기록합니다.
  • Vim (리눅스): DBF ~와 함께 파일 vim -b yourfile.dbf 이진 모드로 들어가려면 다음을 사용하십시오. / 알려진 필드 이름이나 데이터 문자열을 검색할 수 있습니다. Vim의 검색 및 바꾸기 기능을 사용하면 레코드 전체에서 일관되게 잘못된 값이 나타나는 모든 위치를 찾을 수도 있습니다.

Once you have identified readable field descriptors and data records, use that information to recreate the table structure in dBASE or Visual FoxPro and manually re-enter or paste the salvaged records into the new file. Do not attempt to fix the original binary file from a text editor — doing so will almost certainly corrupt it further.

6.3 헥스 에디터를 사용하여 데이터를 수동으로 복구 또는 재구성

헥스 에디터는 바이트 수준의 접근을 제공할 수 있는 보다 전문적인 도구입니다. DBF 이 파일은 직접적인 복구와 안정적인 데이터 추출을 모두 가능하게 합니다.

6.3.1 일반적인 헥스 에디터

다음 헥스 에디터는 적합합니다. DBF 수리 작업:

  • VFP 내장 HexEditVisual FoxPro 내에서 사용 가능합니다. 명령 창에서 다음 명령을 실행하십시오. DO HOME() + "Tools\HexEdit\HexEdit.app", 다음을 선택하십시오. DBF 요청 시 파일을 업로드하십시오. 별도의 설치는 필요하지 않습니다.
  • 윈헥스템플릿 지원 기능을 갖춘 전문가급 윈도우용 헥스 에디터로, 다음과 같은 명령어를 사용하여 헥스 값을 매핑할 수 있습니다. DBF 헤더 필드를 시각적으로 보여줍니다.
  • UltraEdit는대용량 파일을 처리하고 열 선택을 지원하는 16진수 모드를 갖춘 크로스 플랫폼 편집기로, 데이터 레코드 블록 복사에 유용합니다.

6.3.2 수동 분석 및 수리

백업 복사본을 엽니다. DBF 헥스 에디터로 파일을 열고 다음 검사 순서를 수행하십시오.

  • 헤더의 처음 몇 바이트를 검사합니다. 파일 형식 바이트(0번째 바이트), 마지막 업데이트 날짜(1~3번째 바이트), 레코드 개수(4~7번째 바이트), 헤더 크기(8~9번째 바이트) 및 레코드 크기(10~11번째 바이트)를 확인합니다. 레코드 개수와 레코드 크기를 실제 파일 크기와 비교하여 헤더 손상 여부를 확인합니다.
  • Inspect the field descriptor array starting at byte 32: confirm that each 32-byte entry contains a valid field name, a recognized type character, a non-zero field length, and that the array terminates with a 0x0D 바이트.
  • Inspect the data records starting at the offset indicated by the header size: verify that each record begins with a deletion flag (0x20 or 0x2A그리고 레코드 길이가 헤더의 값과 일치하는지 확인합니다.
  • 손상 부위가 헤더, 필드 설명자 배열 또는 데이터 레코드 중 어디에 있는지 확인합니다. 이를 통해 적용할 복구 전략을 결정합니다.
  • 레코드 개수 오류나 단일 바이트 손상과 같은 사소한 오류의 경우, 헥스 편집기에서 직접 값을 수정하고 파일을 저장하십시오.

아래는 샘플입니다 DBF 헥스 에디터에서 파일을 열었습니다:

헥스 에디터를 사용하여 손상된 파일의 바이너리 데이터를 열고 분석하고 복구하십시오. DBF 파일.

6.3.3 수동으로 재구성 DBF 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에

손상 정도가 심각하여 제자리에서 복구할 수 없는 경우, 손상되지 않은 데이터 레코드를 새로 생성된 파일로 전송하여 데이터베이스를 재구성하십시오.

  1. dBASE 또는 Visual FoxPro를 열고 새 항목을 생성하세요. DBF 파일.
  2. 원본 데이터베이스와 동일한 이름과 데이터 형식을 가진 필드를 생성하십시오. 이때 16진수 검사를 통해 확인된 필드 설명자 또는 원본 데이터베이스를 생성한 DBA와 같은 다른 출처를 활용하십시오.
  3. 헥스 에디터에서 이전 데이터의 손상되지 않은 데이터 레코드를 선택하고 복사합니다. DBF 파일.
  4. 복사한 데이터 레코드를 새 파일의 해당 오프셋에 붙여넣으세요. DBF 파일.
  5. 붙여넣은 데이터 레코드에서 발견되는 오류(예: 잘못된 삭제 플래그 또는 잘린 필드 값)를 수동으로 수정합니다.
  6. 16진수 복사본에서 복구할 수 없었던 데이터 레코드는 수동으로 다시 입력하십시오.
  7. 새로운 것을 저장하세요 DBF 해당 파일을 Visual FoxPro 또는 dBASE에서 열어 모든 레코드가 올바르게 로드되는지 확인하십시오.

7. 방법 5: 프로그래밍 언어를 이용한 복구

Programming libraries give you precise control over how a corrupt DBF 파일을 읽으면 예외를 적절하게 처리하고 복구 가능한 데이터를 새롭고 깨끗한 데이터베이스로 내보낼 수 있습니다.

7.1 Python (pandas / dbfread)

파이썬 pandas dbfread libraries can read many partially corrupt DBF 기본 데이터베이스 애플리케이션에서 열 수 없는 파일:

  • 필요한 라이브러리를 설치합니다. pip install pandas dbfread simpledbf.
  • 손상된 내용을 읽으세요 DBF 사용하여 파일을 dbfread: from dbfread import DBF; table = DBF('yourfile.dbf', ignore_missing_memofile=True). 그만큼 ignore_missing_memofile 이 플래그를 사용하면 메모 파일이 없더라도 테이블을 로드할 수 있습니다.
  • 레코드를 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 자바(UCanAccess)

UCanAccess JDBC 드라이버는 다음을 지원합니다. DBF 파일을 대상으로 하며 표준 Java I/O를 통해 프로그래밍 방식으로 복구할 수 있습니다.

  • Add the UCanAccess library to your project’s dependencies via Maven or by downloading the JAR directly.
  • 해당 폴더에 대한 JDBC 연결을 엽니다. DBF 파일 : Connection conn = DriverManager.getConnection("jdbc:ucanaccess:///path/to/folder");
  • 실행 SELECT * try-catch 블록 내의 쿼리. catch SQLException 전체 읽기를 중단하는 대신 개별 행에 예외를 적용하여 읽을 수 없는 레코드를 건너뛸 수 있습니다.
  • 복구된 행들을 새 파일에 기록합니다. DBF 또는 CSV 파일로 내보내어 다시 가져올 수도 있습니다.

8. 방법 6: 전문가 활용 DBF 수리 도구

수동 방식이 너무 복잡하거나 시간이 많이 걸리거나 부패가 너무 심각한 경우, 전담팀이 필요합니다. DBF 복구 도구는 데이터를 복구하는 가장 빠른 방법을 제공합니다.

8.1 사용 DataNumen DBF Repair 손상된 부분을 복구하기 위해 DBF 파일

DataNumen DBF Repair 이 프로그램은 손상되었거나 접근할 수 없는 파일에서 데이터를 복구하기 위해 특별히 설계된 전문 도구입니다. DBF 파일.

  1. 스타트 DataNumen DBF Repair
  2. 손상된 것을 선택하십시오 DBF 복구할 파일입니다.
  3. 출력 파일 이름을 설정합니다.
  4.  복구 시작. The tool will start to scan and repair the file.
  5. 복구 과정이 완료되면 수정된 파일을 dBase 또는 FoxPro에서 엽니다.

  DataNumen DBF Repair 부패를 수리하기 위해 DBF 파일.

8.2 온라인 사용 DBF 수리 도구

온라인 복구 서비스는 일회성 복구에 편리합니다. 하지만 민감하거나 기밀 데이터가 포함된 파일에는 사용하지 마십시오.

  • 복구 도구 상자 DBF 배우기dBASE 및 FoxPro를 지원하는 브라우저 기반 서비스입니다. DBF 형식.
  • 온라인 파일.수리다양한 형식의 파일을 지원하는 온라인 수리 서비스입니다. DBF 지원합니다.

온라인에서 흔히 거치는 단계 DBF 수리 도구:

  1. 온라인 수리 도구 웹사이트로 이동하세요.
  2. 파일 업로드 or 검색 그리고 손상된 것을 선택하세요 .dbf 파일.
  3. 복구 or 분석 수리 프로세스를 시작합니다.
  4. 복구된 기록의 사용 가능 여부를 확인하라는 메시지가 표시되면 미리 보기를 수행하십시오.
  5. 다운로드 복구된 파일을 컴퓨터로 다운로드하세요.

9. 예방 DBF 파일 손상

다리 DBF 데이터 부패는 예방할 수 있습니다. 다음 사항들을 준수하면 데이터 손실 위험을 크게 줄일 수 있습니다.

  • 적절한 종료 절차컴퓨터를 종료하기 전에 항상 데이터베이스 애플리케이션을 닫으십시오. 절대로 `--return` 명령으로 애플리케이션을 종료하지 마십시오. Task Manager 파일이 열려 있는 동안.
  • 네트워크 파일 접근을 피하십시오.: 열지 마세요 DBF 응용 프로그램에서 네트워크 레코드 잠금을 명시적으로 지원하지 않는 한, 네트워크 공유에서 파일을 직접 가져오지 마십시오. 여러 사용자가 동일한 폴더에 쓰기 작업을 하도록 허용하지 마십시오. DBF 잠금 장치 없이 파일을 동시에 업로드합니다.
  • 정기 백업매일 백업 일정을 예약하고 백업본을 별도의 물리적 위치 또는 클라우드 스토리지에 저장하십시오. 추가적인 안전 장치로 중요 데이터는 주기적으로 CSV 또는 다른 최신 형식으로 내보내십시오.
  • 인덱스 유지 관리: 운영 REINDEX 특히 비정상적인 시스템 종료 후에는 인덱스 파일과 데이터 레코드의 일관성을 유지하고 인덱스 관련 손상 오류가 증가하는 것을 방지하기 위해 주기적으로 업데이트를 진행해야 합니다.

10. 자주하는 질문

질문: 완전히 손상된 경우 DBF 파일을 복구할 수 있을까요?

A: Partial recovery is almost always possible. Full recovery depends on whether the data record area of the file is still intact. Header and index corruption is generally repairable; overwritten data records are not.

Q: Visual FoxPro에서 "테이블이 아닙니다"라는 오류는 무엇을 의미합니까?

A: 파일 헤더의 첫 번째 바이트가 인식되지 않습니다. DBF 버전 표시자입니다. Visual FoxPro는 파일을 열 때 이 바이트를 엄격하게 검증하므로, 헤더의 단일 바이트가 손상되더라도 이 오류가 발생합니다.

질문: 무료 온라인 도구를 사용하여 수리하는 것이 안전한가요? DBF 파일?

A: 파일에 민감한 데이터가 포함되어 있지 않은 경우에만 가능합니다. 업로드하기 전에 항상 해당 도구의 개인정보 보호정책을 읽어보시고, 기밀 기록을 다룰 때는 데스크톱 도구를 사용하는 것이 좋습니다.

질문: PACK이 내 기록을 영구적으로 삭제하나요?

A : 네. PACK 삭제 대상으로 표시된 모든 기록을 되돌릴 수 없이 영구적으로 삭제합니다. 항상 백업 복사본에서 실행하고 원본 파일에서는 절대 실행하지 마십시오.

질문: 파이썬으로 복구할 수 있나요? DBF 상용 소프트웨어 없이 파일을 저장할 수 있나요?

A: 네, 데이터 수준 오류의 경우 그렇습니다. dbfread library with the ignore_missing_memofile flag는 기본 애플리케이션이 열기를 거부하는 부분적으로 손상된 파일을 많이 읽을 수 있으며, pandas는 복구된 데이터를 정리하고 내보낼 수 있습니다.

Q: FoxPro/dBASE에서 PACK과 REINDEX의 차이점은 무엇입니까?

A: PACK 삭제 대상으로 표시된 레코드를 영구적으로 제거하고 데이터 파일을 압축합니다. REINDEX 기존 데이터 레코드를 기반으로 데이터 자체를 수정하지 않고 인덱스 파일을 재구축합니다. 이 두 도구는 서로 다른 문제를 해결하며 독립적으로 실행할 수 있습니다.

질문: 제가 계정을 열 수 있나요? DBF FoxPro 또는 dBASE가 설치되지 않은 파일인가요?

A: 네. 리브레오피스 칼크요. DBF Commander와 Xbase++는 모두 실행 가능합니다. DBF FoxPro 또는 dBASE 설치 없이 파일을 사용할 수 있습니다.

Q: 왜 내 DBF LibreOffice에서는 파일이 열리는데 Visual FoxPro에서는 열리지 않나요?

A: LibreOffice는 헤더의 사소한 불일치에 대해 더 관대합니다. Visual FoxPro는 엄격한 헤더 유효성 검사를 수행하며, 검사에 실패한 파일은 열지 않습니다. LibreOffice에서 파일이 열리면 데이터를 CSV 파일로 내보낸 후 다시 생성하십시오. DBF FoxPro와 호환되는 깨끗한 파일을 얻으려면.

질문: 인덱스 파일(.cdx / .idx)이 사라지는 원인은 무엇입니까?

A: The most common causes are accidental deletion, a failed application installation or uninstallation that removed companion files, a crash during an index rebuild operation, or copying the .dbf 관련 인덱스 파일을 복사하지 않고 파일을 새 위치로 이동합니다.

Q: 할 수 있나요? DBF 메모 필드가 포함된 파일(.fpt/.dbt)도 여전히 복구 가능한가요?

A: 네, 하지만 추가적인 단계가 필요합니다. 사용하세요. PACK MEMO FoxPro에서 메모 파일을 압축하고 복구합니다. 메모 파일 자체가 손상된 경우에도 헤더에서 메모 파일 참조를 제거하고 테이블을 열면 메모 필드 이외의 데이터는 일반적으로 복구할 수 있습니다.

질문: 어떤 수리 방법을 먼저 시도해야 할지 어떻게 결정하나요?

A: Start with the least invasive approach and escalate only if it fails: (1) check for missing associated files, (2) run REINDEX(3) LibreOffice Calc와 같은 다른 응용 프로그램에서 열고, (4) 실행합니다. PACK PACK MEMO(5) 수동 복구를 위해 헥스 에디터를 사용하거나, (6) 전문 복구 도구를 사용하는 등의 방법을 사용할 수 있습니다. DataNumen DBF Repair.

질문: 부패한 사람이 할 수 있을까요? DBF 해당 파일이 동일 데이터베이스의 다른 테이블을 손상시켰나요?

A: 부패한 .dbf 테이블이 형제 테이블을 직접적으로 손상시키지는 않습니다. 그러나 손상된 테이블은 형제 테이블을 손상시킬 수 있습니다. .dbc Visual FoxPro의 데이터베이스 컨테이너 파일로 인해 해당 컨테이너에 연결된 모든 테이블을 열 수 없게 될 수 있으며, 컨테이너를 복구하거나 테이블을 컨테이너에서 분리할 때까지 전체 데이터베이스에 접근할 수 없게 됩니다.

11. 결론

부패한 것을 수리하다 DBF file is rarely hopeless. Start with the least invasive steps: verify that associated index and memo files are present, run REINDEX 손상된 인덱스를 복구하려면 LibreOffice Calc와 같은 호환성이 좋은 대체 애플리케이션에서 파일을 열어보세요. DBF 사령관님. 만약 이러한 방법으로 데이터를 복구할 수 없다면, 상위 부서로 보고하십시오. PACK PACK MEMO 명령어를 사용한 다음, 수동으로 16진수 수준의 검사 및 재구성을 수행하거나 Python 또는 Java를 사용한 프로그래밍 방식 복구를 시도하십시오. 모든 단계에서 원본 파일이 아닌 백업 복사본만 사용하십시오.

수작업으로 해결할 수 없는 심각하거나 복잡한 부패 문제의 경우, 전문가의 도움이 필요합니다. DBF repair tool provides the most reliable automated recovery. Once you have recovered your data, put the prevention practices in Section 9 in place — regular backups, proper shutdown procedures, and periodic REINDEX runs — to avoid repeating the experience.


저자에 관하여

위안 셩 10년 이상의 경력을 가진 선임 데이터베이스 관리자(DBA)입니다. SQL Server 환경 및 기업 데이터베이스 관리 분야에서 그는 금융 서비스, 의료, 제조 분야에서 수백 건의 데이터베이스 복구 시나리오를 성공적으로 해결했습니다.

원은 다음을 전문으로 합니다. SQL Server DBF 데이터베이스 복구, 고가용성 솔루션, 성능 최적화 분야의 전문가입니다. 그는 수 테라바이트 규모의 데이터베이스 관리, Always On Availability Groups 구현, 미션 크리티컬 비즈니스 시스템을 위한 자동 백업 및 복구 전략 개발 등 풍부한 실무 경험을 보유하고 있습니다.

Yuan은 기술적 전문성과 실용적인 접근 방식을 통해 데이터베이스 관리자와 IT 전문가가 복잡한 문제를 해결하는 데 도움이 되는 포괄적인 가이드를 만드는 데 중점을 둡니다. SQL Server 효율적으로 도전합니다. 그는 최신 정보를 유지합니다. SQL Server Microsoft의 새로운 릴리스와 진화하는 데이터베이스 기술을 활용하고, 정기적으로 복구 시나리오를 테스트하여 권장 사항이 실제 모범 사례를 반영하는지 확인합니다.

에 대한 질문이 SQL Server DBF 데이터베이스 복구가 필요하시거나 추가적인 데이터베이스 문제 해결 안내가 필요하신가요? Yuan이 도와드리겠습니다. 피드백과 제안 이러한 기술적 자원을 개선하기 위해.

지금 공유 :