BCP 유틸리티는 데이터를 손상시킵니다
-
21-08-2019 - |
문제
한 서버에서 다른 서버로 두 개의 테이블 열의 대량 사본을 실행하고 있습니다.
소스 쪽의 테이블에는 약 8 개의 열이 있지만 2 만 있으면됩니다.
대상 쪽 테이블에는 2 개의 열이 있습니다 (필요한 두 가지는 둘 다 유형 int)
두 데이터베이스 모두 SQL Server 2005입니다.
다음은 두 개의 BCP 명령입니다.
c:\> bcp "select c1, c2 from srcTable" queryout tableData.bcp -N -T -S srcServer
c:\> bcp destTable in tableData.bcp -N -T -S destServer
이것이 대상 테이블의 데이터를 손상시키는 이유는 무엇입니까? 나는 멋지고 순차적 인 정수를 얻어야한다. 대신 나는 이것을 얻는다 :
c1 c2
586332 83014148
123128736 -105042384
-561616278 -309997736
내가 뭘 잘못하고 있죠?
해결책
알았어요.
열 정의는 정확히 일치해야합니다. 그것이 널인지 아닌지를 포함합니다.
출처는 다음과 같이 가지고있었습니다.
srcTable (
c1 int not null (PK)
c2 int null
c3 datetime not null
c4 datetime null
...
)
목적지 테이블은 다음과 같습니다.
destTable (
c1 int not null (PK)
c2 int not null
)
denttable.c2는 널 not이 버그였습니다.
지금은 찌그러졌습니다.
제휴하지 않습니다 StackOverflow