본문 바로가기

DB/Entity Framework

[Z.EntityFramework.extention][BulkInsert] 열 ID %1에 대해 bcp 클라이언트에서 잘못된 열 길이를 받았습니다.



열 ID %1에 대해 bcp 클라이언트에서 잘못된 열 길이를 받았습니다.


bulkinsert 에 필요한 데이터 구문이 잘려서 이후 데이터가 들어가지 않고 예외를 발생합니다.


해결책


1. garbage collector 

  C# 의 경우에는 GC.Collect() 로 garbage collector 를 실행해주면 어느정도 해결이 됩니다. 확실한 해결책은 아니란 얘기~.  garbage collector 의 실행부분은 반복문 하단이나 단위 메소드의 실행 끝에 실행해줍니다. 

 적절히 garbage 가 clear 되었는지는 visual studio > analyze > performance and Diagnostics 에서 모니터링 할 수 있는데 Force GC 로 강제로 실행 할 수 있는 버튼도 지원해서 임의로 clear 시켜 볼 수 있습니다.



2. 전체 분할 실행

  bulkinsert 라고해서 대량의 데이터를 한꺼번에 밀어넣어도 상관없는 게 아니며 메모리와도 밀접한 관련이 있음을 고려하여 적절히 나누어 bulkinsert 를 실행해야합니다.