Develope/Database2013. 6. 13. 13:31

서버 프로그래밍 중,


MySQL 의 longblob 에 데이터 패킷을 그대로 집어넣는 작업을 하고 있었다.


ADO 를 사용하여 appendChunk 로 집어넣는데,


DB 에서 에러를 뿜어내는 것이 아닌가 ?!?!


에러 내용은 다음과 같았다.


max_allowed_packet ~ 어쩌구 저쩌구.


살펴보니,


# MySQL 에서의 서버 전달, 혹은 처리 패킷의 최대 길이를 뜻한다.


보통 TCP를 사용한 패킷의 전송은 Fragment 단위로 Slide 하므로 패킷 길이가 저렇게까지 되진 않지만,


MySQL 에서는 TCP의 특성과 상관 없이 하나의 단위의 패킷 자체로 인식한다고 한다.


또한, Default 로 MySQL 의 max_allowed_packet 의 크기는 1MB 이다 (-_-....)


그러므로,


나와 같은 작업을 해야 하는 MySQL 의 경우에는, 


my.cnf 나 MySQL Administrator 에서 환경변수인 max_allowed_packet 의 정보를 수정해 주어야 한다.

Posted by AsCarion