문제

한 서버에서 다른 서버로 두 개의 테이블 열의 대량 사본을 실행하고 있습니다.

소스 쪽의 테이블에는 약 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이 버그였습니다.

지금은 찌그러졌습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top