Q&A

  • 신인재님께서 올리신 내용중 이해가 않되서
안녕하세요, 전에 이정욱님에게 답하신 텍스트파일<--> dbase(혹은 패러독스)

파일 건에서 잘 이해가 않갑니다. Q1) DATASOURCE는 만들었는데

alias는 자동으로 같은이름으로 만들어 지는거 아니에요? ,저는 BDE administrator에 가면 data source name 으로 만들어져 있어요.



Q2) 그리고 더욱 제가 개념이 없는것은 테이블에 대한 개념인데

db table은 어떻게 만들어 지나요. 혹 김영대님이 만드신 TextLoad.dpr 실행해도 테이블을 못불러와서 db에 로드 할수가 없어요.

,,,,,,,,, 끝까지 읽어주셔서 감사합니다.



1  COMMENTS
  • Profile
    신인재 1999.04.28 05:23
    신호철 wrote:

    > 안녕하세요, 전에 이정욱님에게 답하신 텍스트파일<--> dbase(혹은 패러독스)



    에구 이정욱님에게 답변한적 없는데요 이상하군요.......

    그리고 그방법 확실히 되는 방법입니다. 손발이 고생해서 그렇지......^^;



    아래는 델코의 권용길님의 방법입니다.

    저같이 무대뽀로 짜는 넘과는 조금 다르군요



    [텍스트 파일]

    ODBC에서 Text driver를 사용해서 그 텍스트 파일을 가리키는

    data source 를 하나 만드세요.



    batchmove 컴포넌트를 사용해서 source 프로퍼티를

    이 텍스트 source를 가리키는 테이블로 설정하고,

    나머지 destination 프로퍼티에는 dBase 테이블을 설정한 후,

    Copy 연산을 수행하면 됩니다.

    source와 destination을 바꾸면 반대 방향(dBase->Text)으로

    테이블 복사가 가능하지요.



    물론, dBase뿐만 아니라, 다른 모든 데이터베이스 서버로 변환

    가능합니다.



    batchmove 컴포넌트 사용법은 델파이 예제를 참고하세요.



    [ODBC 설정 하는 법]

    다음은 텍스트 소스를 설정하는 과정입니다.



    제어판에서 '32비트 ODBC'를 실행합니다.

    시스템 DSN 탭에서 추가 버튼을 누르고 Microsoft Text Driver를

    선택합니다.



    데이터 원본 이름을 적당히 설정하고,현재 경로 사용을 해제한 후

    ,경로 선택 버튼을 눌러 텍스트 파일이 존재하는 폴더를 선택해

    줍니다. 옵션 버튼을 눌러 좀더 자세하게 기능 설정할 수도 있습니다.



    여기까지 마치면 ODBC 텍스트 소스를 설정해 준 겁니다.



    이제 BDE administrator에서 이 소스를 가리키는 alias를 하나

    만들어 주고 델파이에서 사용하면 되지요.



    > 파일 건에서 잘 이해가 않갑니다. Q1) DATASOURCE는 만들었는데

    > alias는 자동으로 같은이름으로 만들어 지는거 아니에요? ,저는 BDE administrator에 가면 data source name 으로 만들어져 있어요.

    >

    alias가 자동으로 안만들어 진다는 건지 만들어진다는 건지 잘 모르겠습니다.

    데이타소스 컴포넌트와 엘리아스는 관계가 별로 없는 걸루 아는데요....

    좀 구체적으로 말씀을 부탁드립니다.



    > Q2) 그리고 더욱 제가 개념이 없는것은 테이블에 대한 개념인데

    > db table은 어떻게 만들어 지나요. 혹 김영대님이 만드신 TextLoad.dpr 실행해도 테이블을 못불러와서 db에 로드 할수가 없어요.

    > ,,,,,,,,, 끝까지 읽어주셔서 감사합니다.

    >



    디비 테이블은 database dektop으로 만드는 방법과 코딩으로 만드는 방법이 있습니다.

    그 코딩동적으로 만드는 방법은 아래와 같습니다.



    with TTable.Create(Application) do begin

    Active := False;

    DatabaseName := DBName; { * Change the DatabaseName * }

    TableName := TblName;

    TableType := ttDefault;

    FieldDefs.Add('MainIndex', ftAutoInc, 0, False);

    FieldDefs.Add('WeekNo', ftSmallInt, 0, False);

    FieldDefs.Add('BigChapter', ftSmallInt, 0, False);

    IndexDefs.Add('', 'MainIndex', [ixPrimary, ixUnique]);

    CreateTable;

    Free;

    end;