본문 바로가기

IT

SQL*Loader(SQLLDR)로 일본우편번호CSV데이터를 오라클(Oracle)의 유저테이블에 임포트(Import)정리

요새야 공개된 우편번호검색 API가 많이 있어서 불필요합니다만, 연계된 것들이 많아 그대로 운용중인

오래전에 자체적으로 구축해서 사용하고 있는 우편번호검색 API를 살펴볼 일이 생겼습니다.

데이터의 마지막 업데이트가 2010년이네요. 우선 업데이트를 해야했습니다.

오라클(Oracle)에 csv입포트(Import)는 오랫만이라 여기저기 검색해서 처리했기에 정리를 합니다.


지금 다시 생각해보니 자체구축우편번호검색API에서 DB에서 검색이 아닌 외부 공개우편번호검색API의 결과를 받아서 처리하게 하면 되겠네요! 오호!

http://zipcloud.ibsnet.co.jp/doc/api



1. 우편번호 데이터 다운로드, 정리

일본의 우편번호데이터는 JAPAN POST(郵便局 | 日本郵便株式会社)에서 다운로드가능합니다.

https://www.post.japanpost.jp/zipcode/download.html


CSV형식으로 전국, 혹은 지역별, 그리고 일반, 사업소별로도 구분되어 제공됩니다.

다운로드를 했으면 엑셀로 필요한 필드만 추립니다.

zipcode.csv 가 준비되었습니다.


2. 제어파일(CTL) 작성

zipcode.ctl

----------------------------------------

LOAD DATA

INFILE 'C:\zipcode.csv' //임포트(Import)할 CSV파일경로

INTO TABLE API.ZIPCODE //임포트(Import)대상의 테이블 API유저의 ZIPCODE테이블

APPEND

FIELDS TERMINATED BY ',' //CSV파일의 구분문자 ',' 설정

(ZIPCODE,ADDRESS_KANJI,ADDRESS_KANA)

// API유저의 ZIPCODE테이블의 임포트(Import)대상필드

----------------------------------------


3. Oracle이설치된 서버의 명령프롬프트(Windows경우)에서 SQLLDR실행

----------------------------------------

SQLLDR USERID=SYSTEM/패스워드 CONROL='C:\zipcode.ctl'

//SYSTEM유저로 API유저의 ZOPCODE테이블을 갱신

//만약 API유저로 직접 처리하려면 제어파일(CTL)의 API.ZIPCODE ->ZIPCODE로 변경하고

SQLLDR USERID=API/패스워드 CONROL='C:\zipcode.ctl'

----------------------------------------

잘 업데이트 했습니다!



반응형