발단..
운영중인 시스템의 패치 관련하여.. DB 스키마 패치 시..
각 오브젝트별 alter 또는 create 등 DDL, DML 파일들이 생성되면
이 파일들을 순서에 맞춰 머지(merge) 하여 단일 스크립트파일로 만들어 작업자에게 배포..
프로젝트 환경이 UTF-8 이어서 SQL 스크립트 파일도 UTF-8을 준수해야 하는데..
UTF-8 에는 BOM 이라는 만만치 않은 놈이 이슈가 됨
이클립스에서는 BOM 이 없고.. notepad++ 에서는 설정할 수 있고..
문제의 toad MySQL 에서는 BOM 이 붙는다..
머지는 exploer ++ 을 사용하는 환경..
BOM 이 들어 있는 SQL 파일들을 머지하면 통합된 파일을 실행 시 불특정 에러가 발생...
오브젝트별 sql 파일들을 하나하나 notepad++에서 확인하여 BOM 없는 UTF-8 로 인코딩 변경한 후
머지하면 되는 데..
신경도 많이 쓰이고 신경써서 하다가도 놓치는 경우도 있고.. 블라블라 문제가 많음
구글링해서 BOM remover 류 들을 구해봐도... 파일 시작점의 BOM 만 제거해 줌.. 한계..
결국 HEX replace 유틸을 찾게 됨..
Swiss File Knife
유틸하나로 모든 문제 해결됨
대만족...
!!! https://sourceforge.net/projects/swissfileknife/