1. 개요
시스템을 개발하다 보면, 외부의 데이타(xls,csv,txt)를 DB에 입력하는 경우가 빈번히 발생한다.
행정표준코드시스템(mogaha.go.kr)에 접속하여, 기관코드와 학적코드를 DB에 입력하는 절차에 대해서 설명하고자 한다.
2. 처리 절차
1) 행정표준코드시스템에 접속하여 기관코드정보 다운로드
2) 기관코드 테이블 생성
3) CM(CUBRID Manager)을 사용하여 기관코드 upload
3. 세부 처리절차
3.1 행정표준코드시스템에 접속하여 기관코드정보 다운로드
- 행정표준코드관리시스템( code.mogaha.go.kr )에 접속하고, “기관”을 클릭한다.
- “기관코드 전체자료”를 클릭하고, “기관코드 전체자료.zip” 파일을 다운로드 한다.
3.2 기관코드 테이블 생성
- 기관정보 테이블 스키마
- 테이블 생성 스크립트
테이블명 |
com_instt | |||||||||
엔터티명 |
컬럼명 |
컬럼명 |
Not Null |
데이터 |
길이 |
PK |
FK |
제약 |
컬럼 | |
기관정보 |
INSTT_CODE |
기관코드 |
N |
char |
7 |
PK01 |
|
|
PK | |
기관정보 |
ALL_INSTT_NM |
전체기관명 |
|
varchar |
300 |
|
|
|
| |
기관정보 |
LOWEST_INSTT_NM |
최하위기관명 |
|
varchar |
500 |
|
|
|
| |
기관정보 |
ODR |
차수 |
|
integer |
|
|
|
|
| |
기관정보 |
ORD |
서열 |
|
varchar |
10 |
|
|
|
| |
기관정보 |
PSITN_INSTT_ODR |
소속기관차수 |
|
integer |
|
|
|
|
| |
기관정보 |
SEHIGH_INSTT_CODE |
차상위기관코드 |
|
char |
7 |
|
|
|
| |
기관정보 |
BEST_INSTT_CODE |
최상위기관코드 |
|
char |
7 |
|
|
|
| |
기관정보 |
REPRSNT_INSTT_CODE |
대표기관코드 |
|
char |
7 |
|
|
|
| |
기관정보 |
TY_CL_LRGE |
유형분류_대 |
|
char |
2 |
|
|
|
| |
기관정보 |
TY_CL_MIDDL |
유형분류_중 |
|
char |
2 |
|
|
|
| |
기관정보 |
TY_CL_LRGE_SMALL |
유형분류_소 |
|
char |
2 |
|
|
|
| |
기관정보 |
MAIL_NO |
우편번호 |
|
varchar |
10 |
|
|
|
| |
기관정보 |
ADM_DONG_CD |
행정동코드 |
|
varchar |
10 |
|
|
|
| |
기관정보 |
LOCPLC_CODE |
소재지코드 |
|
varchar |
500 |
|
|
|
| |
기관정보 |
RMNDR_ADRES |
나머지주소 |
|
varchar |
500 |
|
|
|
| |
기관정보 |
LNM |
지번 |
|
varchar |
10 |
|
|
|
| |
기관정보 |
TELNO |
전화번호 |
|
varchar |
20 |
|
|
|
| |
기관정보 |
FXNUM |
팩스번호 |
|
varchar |
20 |
|
|
|
| |
기관정보 |
CREAT_DE |
생성일자 |
|
char |
8 |
|
|
|
| |
기관정보 |
ABL_DE |
폐지일자 |
|
char |
8 |
|
|
|
| |
기관정보 |
CHANGE_DE |
변경일자 |
|
char |
8 |
|
|
|
| |
기관정보 |
MNTNAB_AT |
존폐여부 |
|
char |
1 |
|
|
|
| |
기관정보 |
BEFORE_INSTT_CODE |
이전기관코드 |
|
char |
7 |
|
|
|
|
create table COM_INSTT (
INSTT_CODE char(7) ,
ALL_INSTT_NM varchar(300) ,
LOWEST_INSTT_NM varchar(500) , ODR integer
, ORD varchar(10) ,
PSITN_INSTT_ODR integer ,
SEHIGH_INSTT_CODE char(7) ,
BEST_INSTT_CODE char(7) ,
REPRSNT_INSTT_CODE char(7) ,
TY_CL_LRGE char(2) ,
TY_CL_MIDDL char(2) ,
TY_CL_LRGE_SMALL char(2) ,
MAIL_NO varchar(10) ,
ADM_DONG_CD varchar(10) ,
LOCPLC_CODE varchar(500) ,
RMNDR_ADRES varchar(500) , LNM varchar(10) ,
TELNO varchar(20) ,
FXNUM varchar(20) ,
CREAT_DE char(8) ,
ABL_DE char(8) ,
CHANGE_DE char(8) ,
MNTNAB_AT char(1) ,
BEFORE_INSTT_CODE char(7), CONSTRAINT
PK_COM_INSTT PRIMARY KEY(INSTT_CODE) |
3.3 CM(CUBRID Manager)을 사용하여 기관코드 upload
- 접속한 DB에서 마우스 오르쪽 버튼을 클릭하여 “가져오기”를 클릭한다. ( 또는 툴박스의 “데이터 관리 > 가져오기” 도 동일한 기능이다. )
- 가져오기 유형을 선택한다. 행정정보표준코드에서 제공하는 파일 포맷은 TXT 파일이므로 “TXT 파일로부터 가져오기”를 선택하고 “Next” 버튼을 클릭한다.
- 가져오기 옵션을 설정하는 화면이다. 우선 “구분자 옵션”의 값을 설정한다. 열(col)은 탭문자(t [Tab])를 선택하고, 행은 개행문자(n [Newline])를 선택하고, 기관정보 테이블(com_instt)을 더블클릭 한다.
- 테이블컬럼을 매핑하는 화면이 보여진다. “테이블 컬럼”에는 이전 화면에서 선택한 테이블의 컬럼 목록이 보여진다. “찾아보기” 버튼을 클릭하고 행정정보표준시스템에서 다운로드 받은 “기관코드 전체자료.txt” 파일을 선택한다.
- 선택한 파일의 컬럼수 만큼 컬럼정보가 보여진다. “데이터의 첫 줄을 컬럼 이름으로 사용”을 체크한다.
- “기관코드 전체자료.txt”의 첫번째 줄의 헤더정보가 보여진다. “OK” 버튼을 클릭한다.
- 선택 했던 테이블에 로드 할 레코드건수, 매핑여부, 제목줄이 보여진다. 파일문자집합을 “UTF-8”로 선택하고, “Next” 버튼을 클릭한다.
- 앞 화면에서 선택한 옵션들을 확인하는 화면이다. 선택한 옵션 내용을 확인하고, “Finish” 버튼을 클릭한다.
- 데이터 입력 진행상황이 보여진다. 앞에서 선택한 커밋단위 1,000건씩 완료건수가 올라간다.
- 완료건수와 실패건수를 확인한다. 실패건수가 있을 경우에는 “실패한 데이터를 확인” 버튼이 활성화 되며, 실패원인을 확인하고 테이블 데이터를 초기화하고 처음부터 다시 실행하면 된다.
방금 실행한 내용을 저장하고자 할 경우 “저장 및 닫기” 버튼을 클릭하면 이력내용이 저장 되며, “가져오기 유형 선택” 화면에서 재사용 할 수 있다.
- 저장 한 이력을 재사용 하기 위해서는 가져오기 유형 선택 화면에서 “기존 가져오기 설정으로 가져오기”를 선택하면 된다.