DBAtlas · 데이터베이스 운영 아틀라스

4864: Bulk load data conversion error (type mismatch or invalid character) (대량 로드 데이터 변환 오류)

SQL Server

의미

대량 로드(BULK INSERT, bcp 또는 OPENROWSET(BULK...)) 중 소스 파일의 필드를 대상 컬럼의 데이터 타입으로 변환할 수 없었다. 보고된 행/컬럼의 데이터가 예상 타입과 일치하지 않는다.

원인

소스 데이터 파일의 값이 대상 컬럼 타입에 맞지 않는다: 숫자 컬럼의 텍스트, 잘못된 날짜 형식, 예상치 못한 소수점/천 단위 구분자, 잘못된 문자 인코딩(UTF-8/UTF-16), 또는 잘못된 필드/행 종결자로 인한 컬럼 밀림. 헤더 행을 건너뛰지 않는 것도 흔한 원인이다.

해결 방법

오류가 보고한 행과 컬럼으로 가서 소스 데이터를 확인한다. 필드(FIELDTERMINATOR)와 행(ROWTERMINATOR) 종결자를 파일에 맞추고, FIRSTROW=2로 헤더 행을 건너뛴다. 올바른 코드 페이지/인코딩을 위해 CODEPAGE 또는 DATAFILETYPE을 설정한다. 날짜/숫자 형식을 대상 타입과 호환되게 한다. format file을 사용하면 매핑이 안정적이다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목