Q&A

  • 다량의 엑셀자료 파라독스로 컨버젼시..문제
10000건 정도의 엑셀 자료를 파라독스로 컨버젼을 하는데..

아주 세월입니다..



10000건 정도면 어느 정도의 시간이 소요되는지요..

그리고 프로그램 안에서 빨리 변환되게 처리할 수 있는 방법은

있는지요...



저는 지금 한건 읽어 한건 인서트 하는 식으로 하고 있는데...다른 방법이

있으신 분들은 답변좀 써 주세요..

2  COMMENTS
  • Profile
    바람개비 2001.02.20 17:57
    컴포넌트를 쓰는게 나은지 어떤지 모르지만

    저는 그냥 텍스트로 처리합니다.

    엑셀파일을 csv 형식으로 저장한후(구분자를 콤마로 합니다) 이걸

    텍스트파일로 한줄씩 읽은후 디비에 저장하지요.

    음... 속도는 빠른지 어떤지 모르지만 이것저것 신경쓸게 없어서

    선호하고 있습니다. 그런대로 쓴만하더군요.



    바라미~~

    김성은 wrote:

    > 10000건 정도의 엑셀 자료를 파라독스로 컨버젼을 하는데..

    > 아주 세월입니다..

    >

    > 10000건 정도면 어느 정도의 시간이 소요되는지요..

    > 그리고 프로그램 안에서 빨리 변환되게 처리할 수 있는 방법은

    > 있는지요...

    >

    > 저는 지금 한건 읽어 한건 인서트 하는 식으로 하고 있는데...다른 방법이

    > 있으신 분들은 답변좀 써 주세요..

  • Profile
    2001.11.30 23:06
    바람개비 wrote:

    > 컴포넌트를 쓰는게 나은지 어떤지 모르지만

    > 저는 그냥 텍스트로 처리합니다.

    > 엑셀파일을 csv 형식으로 저장한후(구분자를 콤마로 합니다) 이걸

    > 텍스트파일로 한줄씩 읽은후 디비에 저장하지요.

    > 음... 속도는 빠른지 어떤지 모르지만 이것저것 신경쓸게 없어서

    > 선호하고 있습니다. 그런대로 쓴만하더군요.

    >

    > 바라미~~

    > 김성은 wrote:

    > > 10000건 정도의 엑셀 자료를 파라독스로 컨버젼을 하는데..

    > > 아주 세월입니다..

    > >

    > > 10000건 정도면 어느 정도의 시간이 소요되는지요..

    > > 그리고 프로그램 안에서 빨리 변환되게 처리할 수 있는 방법은

    > > 있는지요...

    > >

    > > 저는 지금 한건 읽어 한건 인서트 하는 식으로 하고 있는데...다른 방법이

    > > 있으신 분들은 답변좀 써 주세요..







    한건씩읽는것보다는 배치무브가 훨씬 빠른것 같은대요.

    코딩방법은요...



    try

    SVC_Table := TTable.Create(application);

    with SVC_Table do begin

    DatabaseName := csvalias;

    TableName := csvName;

    end;

    except

    SVC_Table.Free;

    exit;

    end;



    try

    DB_Table := TTable.Create(application);

    with DB_Table do begin

    DatabaseName := dbalias;

    TableName := tableName;

    end;

    except

    DB_Table.Free;

    SVC_Table.Free;

    exit;

    end;



    try

    DB_Table.EmptyTable;

    except

    DB_Table.Free;

    SVC_Table.Free;

    exit;

    end;

    //Batch Move

    try

    DB_Table.BatchMove(DB_Table, batAppend);

    DB_Table.Free;

    SVC_Table.Free;

    except

    DB_Table.Free;

    SVC_Table.Free;

    exit;

    end;