::: 강좌/소스/문서 :::

강좌/소스/문서 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-03-12 12:20:07, Hit : 9022, Vote : 1596
 TXTLoader.zip (12.6 KB), Download : 896
 dbcvt21a.zip (286.4 KB), Download : 880
 [소스] Text(*.csv, *.txt) 파일을 DB 로 올리기

저번에는 "Query한 결과를 텍스트 파일로 저장하기(Excel 포함)" 를
공개했으니 이번에는 그 반대의 동작을 하는 프로그램을 공개합니다

이 프로그램에는 콤포넌트가 하나 필요한데 이건 인터네트 상에서
받은 것으로 첨부한 이 콤포넌트(dbcvt21a.zip)를 먼저 설치하세요
설명 - VCL's to import and export ASCII files to/from a table.
        Far better and more flexible than BatchMove.
        Includes full help file and demo. (version 2.1a - 287K)  

이 콤포넌트는 TAscii2DB, TDB2Ascii 두가지 콤포넌트 입니다
제가 사용한건 TAscii2DB 만 사용하였습니다

이 콤포넌트를 이용하여 작성한 프로그램은 예제라기 보다는
하나의 응용 프로그램이므로 소스를 보시고 수정하셔서
더 좋은 프로그램으로 만드시기 바랍니다

<< 예제 프로그램 사용 설명서 >>
[작업순서]
㉠ '작업파일'의 버튼을 클릭하여 등록(upload)할 PC파일(csv, txt)을 선택합니다.
   작업파일의 내용은 '파일내용' 탭에 나타나며 이곳에서 파일의 내용을 직접 수정할 수 있으며
   수정된 내용은 작업파일에 덮어쓰기됩니다.

㉡ '작업테이블' 에서 버튼을 클릭하여 작업파일의 자료를 등록할 테이블을 선택합니다.
   작업테이블을 선택하면 '원시필드'에 그 테이블의 모든 필드가 나타나며 '테이블내용' 탭에는
   이미 등록되어 있는 자료가 조회됩니다.

㉢ '원시필드'에서 작업파일의 각 필드값과 일대일 매칭되는 필드를 선택하여 '대상필드'로 보냅니다.
   '대상필드'의 갯수와 작업파일의 필드값의 갯수는 원칙적으로 일치해야 하며 적거나 남으면
   무시 또는 에러가 발생합니다.

㉣ '대상필드'의 각 필드는 '△', '▽' 를 사용하여 순서를 위, 아래로 바꿀 수 있으며
   필요없는 필드는 '<', '<<' 를 사용하여 제거할 수 있습니다.
   또한 작업파일의 필드값중 무시할 필드가 있다면 그 필드값과 매칭되는 '대상필드'의 위치에
   '~' 를 사용하여 'SKIP' 표시를 해 두면 해당 위치의 '작업파일'의 필드값은 무시됩니다.

㉤ '실행전 세부조정'을 사용하여 자료를 올리기(upload)전에 자세한 동작을 제어해야 하며 각 설명은
   아래 '주작업화면' 에 있습니다.

㉥ 실제로 자료를 올리기(upload) 전에 '미리보기' 버튼을 사용하여 작업의 진행을 시뮬레이션할 수 있으므로
   이 기능을 여러번 사용하여 에러가 없을 경우만 '실행' 버튼을 사용하여 자료를 등록하기 바랍니다.

㉦ '미리보기'를 해서 에러가 없다면 등록될 자료의 내용이 '미리보기' 탭에 나타납니다.
   만약 에러가 발생한다면 '에러보기' 탭에 에러내역이 있으므로 참고하시면 됩니다.

㉧ '미리보기'를 해서 에러가 없다면 '실행' 버튼을 클릭하여 실제로 등록(upload) 하시면 됩니다.
   실행이 완료되면 '실행후 결과' 에 처리결과의 요약이 나타나며 '테이블내용' 탭에
   처리된 자료가 포함된 작업테이블의 내용이 나타납니다.


[화면설명]
아래는 본 프로그램의 각각의 화면들에 대한 설명입니다.

1. 주작업화면
㉠ 작업테이블
   . 자료를 등록할 테이블을 입력 또는 선택합니다.

㉡ 원시필드
   . 작업테이블의 모든 필드명과 자료의 자릿수입니다.
   . 빨간색으로 보이는 항목은 키필드(반드시 입력해야 하는 필드)입니다.

㉢ 대상필드
   . 자료를 등록하기 위해 원시필드로 부터 가져온 필드들입니다.
   . 이곳의 필드가 실제로 자료가 등록되는 필드입니다.

㉣ 원시필드와 대상필드 사이의 버튼들
   . △,▽ :  대상필드에 선택된 항목들의 순서를 위, 아래로 바꿀 수 있습니다.
   . >,>>  :  원시필드의 선택된 항목들을 대상필드로 옮깁니다.
   . <,<<  :  대상필드의 선택된 항목들을 원시필드로 옮깁니다.
   . SKIP  :  대상필드에 빈항목을 추가합니다. (PC자료의 항목 구성에 따라)
     (Shift, Ctrl 키로 여러항목을 선택할 수 있습니다.)

㉤ 작업파일
   . 등록할 PC파일(csv, txt)을 선택합니다.

㉥ 실행전 세부조정
   . 파일유형 - 구분자로 분리됨 / 너비가 일정함
       -> 만들어진 파일의 유형을 선택합니다.

   . 구분자 - 콤마 / 세미콜론(;) / 공백( ) / 사용자문자
       -> 만들어진 파일의 각 항목의 구분자를 선택합니다.
          사용자문자는 사용자가 직접 구분자를 지정하는 것입니다.

   . 처리방식
       -> 추가/수정: 자료를 등록할 때 이미 테이블에 키항목의 값이 없으면 추가, 있으면 수정합니다.
       -> 수정: 자료를 등록할 때 이미 테이블에 키항목의 값이 있으면 수정 없으면 무시합니다.
       -> 추가: 자료를 등록할 때 이미 테이블에 키항목의 값이 없으면 추가합니다.
       -> 복사: 작업테이블의 모든 자료를 삭제한 후 PC파일의 자료를 추가합니다.

   . 에러발생시
       -> 중지: 에러발생시 작업을 중지합니다. 이때, 먼저 등록된 자료는 무시합니다.
       -> 진행: 에러가 발생한 자료만 무시하고 나머지는 입력됩니다.

   . 묶음기호
       -> 필드가 묶음기호로 지정된 문자로 묶여 있을 경우 하나의 문자열로 처리.

㉦ 실행후 결과
   . 읽은 자료수   :  PC파일에서 읽은 자료수입니다. (라인수)
   . 주석 / 공백   :  PC파일에서 읽은 주석과 공백의 수입니다. (주석은 라인의 맨앞의 ;로 구분합니다.)
   . 무시          :  주석이나 에러가 발생한 자료수
   . 에러          :  에러가 발생한 자료수
   . 처리된 자료수 :  실행후 처리된 자료의 수입니다.
   . 추가          :  실행후 테이블에 추가된 자료의 수입니다.
   . 수정          :  실행후 테이블에 수정된 자료의 수입니다.

㉧ 탭(tab)
   . 파일내용   :  선택된 PC파일의 내용을 볼 수 있습니다.(화면에서 PC파일의 내용을 직접 수정할 수 있음)
   . 미리보기   :  작업테이블에 실제 추가/수정하기 전에 시뮬레이션을 할 수 있습니다.
   . 에러보기   :  실행도중 발생한 에러에 대한 메세지를 볼 수 있습니다.
   . 테이블내용 :  선택된 작업테이블의 자료를 볼 수 있습니다.





23   [Delphi] [소스] DOS 명령어를 실행하고 결과 받아오기  김영대 2003/03/12 6994 1697
22   [Delphi] [소스] 간단한 계산기 프로그램 소스  김영대 2003/03/12 6827 1480
21   [Delphi] [소스] 다기능 DBGrid (복수 Title, 자동정렬..)  김영대 2003/03/12 8934 1772
20   [Delphi] [소스] 인쇄 미리보기 화면 만들기 - 워드패드2  김영대 2003/03/12 7701 1755
19   [Delphi] [소스] RichEdit를 이용한 워드패드(WordPad)  김영대 2003/03/12 6691 1596
  [Delphi] [소스] Text(*.csv, *.txt) 파일을 DB 로 올리기  김영대 2003/03/12 9022 1596
17   [Delphi] [소스] 파일의 내용 전체를 비밀번호로 암호/복호화  김영대 2003/03/12 7770 1582
16   [Delphi] [소스] 도구모음 프로그램 만들기  김영대 2003/03/12 6790 1583
15   [Delphi] [소스] DBGrid의 자료를 Popup 해주는 콤포넌트  김영대 2003/03/12 6606 1533
14   [Delphi] [소스] DBGrid 에 검색화면 만들어주는 콤포넌트  김영대 2003/03/12 6954 1649
13   [Delphi] [소스] Query한 결과를 텍스트 파일로 저장하기(Excel 포함)  김영대 2003/03/12 8785 1659
12   [Delphi] [소스] 레포트 컴포넌트없이 서식출력/저장  김영대 2003/03/12 6500 1653
11   [네트워크/보안] [소스] Multi Chatting Server  김영대 2003/03/12 7822 1651
10   [Delphi] [소스] 하루에 한번씩 자동으로 배경화면 바꾸기  김영대 2003/03/12 7392 1704
9   [Delphi] [소스] 쓰레드를 사용한 Query 동시 날리기  김영대 2003/03/12 8602 1760
8   [Delphi] [소스] 테트리스(Tetris) 게임  김영대 2003/03/11 7334 1700
7   [Delphi] [소스] ORACLE 리스너의 alive 검사  김영대 2003/03/11 6397 1690
6   [Delphi] [소스] UNIX 서버의 현재시간 읽어오기  김영대 2003/03/11 7379 1922
5   [Delphi] [소스] 네트워크 환경의 TCP/IP 등록정보 읽어오기  김영대 2003/03/11 6950 1770
4   [Delphi] [소스] 상대방 컴퓨터의 IP 구하기  김영대 2003/03/11 8084 1767

[1][2][3][4][5][6][7][8] 9 [10]
 

Copyright 1999-2019 Zeroboard / skin by zero