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건씩 완료건수가 올라간다.
- 완료건수와 실패건수를 확인한다. 실패건수가 있을 경우에는 “실패한 데이터를 확인” 버튼이 활성화 되며, 실패원인을 확인하고 테이블 데이터를 초기화하고 처음부터 다시 실행하면 된다.
방금 실행한 내용을 저장하고자 할 경우 “저장 및 닫기” 버튼을 클릭하면 이력내용이 저장 되며, “가져오기 유형 선택” 화면에서 재사용 할 수 있다.
- 저장 한 이력을 재사용 하기 위해서는 가져오기 유형 선택 화면에서 “기존 가져오기 설정으로 가져오기”를 선택하면 된다.
-
MySQL 테이블 크기 조사하기-공유
-
CUBRID BACKUP (linux, window)
-
Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까?
-
브로커와 DB 간 연결 테스트
-
CUBRID HA 제약 사항 및 확인 방법
-
cubrid plandump ( plan cache정보확인)
-
CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점
-
CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기
-
테이블 명세서 한 시트로 합치기
-
일정 범위 임의의 정수 생성 방법(random 함수 응용)
-
시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제
-
큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법
-
maven에서 CUBRID JDBC Driver 추가하기
-
오라클의 DBMS_RANDOM.STRING() 함수를 CUBRID 식으로 구현하는 방법
-
테이블 용량 산정 쿼리
-
WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis)
-
브로커 동적 파라미터 변경 방법
-
전체 테이블 UPDATE시 SELECT, UPDATE를 통한 INDEX SCAN방식으로 테이블 X_LOCK을 방지하자!
-
CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기
-
INSERT수행 시, 현재날짜,현재시각으로 자동 입력하는 방법