프로그램에 파일을 불러들여 BLOB 타입에 Insert, Update 하는 것을

구현하긴 했으나 쿼리문 수정 등 귀찮은 바가 몇개 있었다.

 

용량이 작은 파일을 BLOB에 업데이트할 때 유용할 것으로 보인다.

 

1. 파일의 HEX 값을 구한다.

나같은 경우, 회사에서도 무료인 HxD Hex Editor 를 사용한다.

장점은 파일을 읽은 후, 복사, 붙여넣기 하면 Hex 값만 깔끔하게 가져온다.

 

파일을 읽은 후, 복사 붙여넣기 하면 HEX 값만 얻는다.

5E58410D0A5E4259322C322E305E46530D0A5E5345453A5548414E47554C2E4441545E46530D0A5E4357312C453A4B464F4E54332E464E545E434932365E46530D0A5E464F35302C35305E41314E2C34302C34305E4644C7D1B1DBC3E2B7C2C5D7BDBAC6AE5E46530D0A5E5051322C312C312C595E46530D0A5E585A0D0A

 

이 후, 얻은 HEX 값을 아래 쿼리문에 넣으면 된다.

나는 common_key 테이블 밑에 data 라는 BLOB 에 값을 넣었다.

(원래 데이터보다 짧게 기재했다. 실제는 훨씬 길 것이다.)

 

update common_key set data=UNHEX('5E58410D0A5E425932~~~') where no=10 ;

 

♣ 확인

값을 넣었으니 CRC32 값을 비교하여 올바르게 들어갔는지 확인한다.

Select hex(crc32(data)) from common_key where no=10 ;

 

 

그리고 실제 파일의 CRC32 를 구해본다.

 7-Zip 프로그램을 쓰면 우클릭 시, Checksum 값을 쉽게 얻을 수 있다.

위와 같이, 실제 파일과 DB 값 간에 CRC32값이 일치하였고,

원하는대로 DB에 파일을 업로드 됨을 확인하였다.

 

뭐, 각자 툴 있으면 그거 쓰면 되고, 가끔 귀차니즘 발동할 때 쓸 수 있겠다.

 

+ Recent posts