Q&A

  • paradox의 index 복구(급함)
paradox의 index를 복구하려면 어떻게 해야 하나요.....?



index is out of data라는 오류가 발생합니다.

누가 도와 주시기 바랍니다........^o^..................

1  COMMENTS
  • Profile
    김영대 2000.01.14 22:14
    이광환 wrote:

    > paradox의 index를 복구하려면 어떻게 해야 하나요.....?

    >

    > index is out of data라는 오류가 발생합니다.

    > 누가 도와 주시기 바랍니다........^o^..................



    Index만 깨졌다면 아래처럼 BDE 함수를 사용해 보세요

    Table.Open;

    Check(DBIRegenIndexes(Table.Handle));

    Table.Close;



    그리고 아래는 전에 올렸던 내용인데 자료복구에 관한 내용입니다



    파라독스 테이블은 Xbase 계열(Dbase III Plus, Fox Pro, Clipper, ...)의 테이블들중

    테이블의 내부 구조를 공개하지 않아 파라독스 사용자들을 난처하게 만들죠

    다른 Xbase 들은 테이블이나 인덱스 파일의 내부를 공개하여 파일이 깨졌을때

    복구할 수 있는 자료를 주던데...

    그대신 파라독스 테이블은 tutil32.dll 이나 tutility.dll 의 함수를 사용하여

    테이블을 조작할 수 있습니다



    위의 질문내용은 레코드를 삭제했는데 사이즈가 줄지 않는다고 하셨는데

    이것은 에러가 아니라 다른 Xbase 계열의 테이블들도 마찬가지로

    삭제 표시(파일을 덤프떠보면 '*' 문자로 표시되어 있습니다)만 하는 것입니다

    즉, 레코드를 삭제하면 그 즉시 테이블에서 물리적으로 지우지 않고 삭제되었다는

    표시만 레코드에 해놓고 물리적으로는 지우지 않습니다

    이런 삭제 표시된 레코드를 지우는 작업을 packing 한다고 합니다

    반대로 DOS의 삭제된 파일의 복구처럼 삭제(표시)된 레코드를 살리는 것을

    unpacking 한다고 합니다

    또한 인덱스 파일은 깨져도 다시 만들면 되므로 걱정안 하셔도 됩니다

    다른 Xbase 계열들은 이런 복구, 재생성 유틸리티를 함께 제공하는데

    파라독스는 tutil32.dll 나 tutility.dll 의 함수를 호출하여 작업을 해야 합니다



    아래는 이 dll 들을 응용한 파라독스 테이블 복구 유틸리티 입니다

    저도 써 봤는데 괜찮더군요

    DataSentry Data Maintenance Utility - http://www.logicprocess.com/download/DSENTRY.EXE



    만약 인덱스가 아닌 데이터가 깨졌다면 위의 유틸리티를 써도 약간의

    데이터는 손실될 수 있습니다