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건씩 완료건수가 올라간다.
- 완료건수와 실패건수를 확인한다. 실패건수가 있을 경우에는 “실패한 데이터를 확인” 버튼이 활성화 되며, 실패원인을 확인하고 테이블 데이터를 초기화하고 처음부터 다시 실행하면 된다.
방금 실행한 내용을 저장하고자 할 경우 “저장 및 닫기” 버튼을 클릭하면 이력내용이 저장 되며, “가져오기 유형 선택” 화면에서 재사용 할 수 있다.
- 저장 한 이력을 재사용 하기 위해서는 가져오기 유형 선택 화면에서 “기존 가져오기 설정으로 가져오기”를 선택하면 된다.
-
CMT를 이용하여 원본 특정 테이블의 일부 데이터만 가져와 대상 테이블에 넣기
-
MySQL 테이블 크기 조사하기-공유
-
CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점
-
CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기
-
CUBRID vs MySQL vs ORACLE SQL 타입별 비교
-
MySQL+XE를 CUBRID+XE로 운영하기 – mysqldump파일과 CMT사용
-
MySQL에서 CUBRID로 갈아탈 때 알아야 할 것
-
오라클의 order by 시 first와 last 대체 사용법
-
CUBRID Migration Tookit 8.4.1
-
데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법
-
MySQL에서 사용하는 스키마 변환시 주의 사항
-
오라클 to CUBRID로 마이그레이션 수행 시 주의사항
-
타 DBMS를 CUBRID로 마이그레이션 시 varchar,char 컬럼 사이즈 관련
-
타 DB 에서 마이그레이션시 질의 변경 샘플 - CASE 문
-
CUBRID는 MySQL의 varchar(255)와 동일한 길이가 아닌가요?
-
CUBRID 하위버젼에서 CUBRID2008로의 업그레이드 방법
-
MySQL의 limit 명령어 처리