2009-08-19 4 views
4

SQL Server Integration Services 2008을 사용하여 특정 부울 값을 데이터베이스에 저장하고 원래는 DT_BOOL (부울 값)의 SSIS 형식을 사용했습니다.DT_BOOL 값은 tinyint 필드에서 255로 매핑됩니다. 왜 안돼?

그러나 데이터베이스에서 부울 값은 tinyint 필드로 저장됩니다 (기존 이유로). TRUE의 부울 값 대신 1

의 전통적인 가치, (모든 비트에) 255로 데이터베이스에 저장됩니다 하나에 매핑 할 TRUEDT_BOOL 값을 강제로 대신 255 수있는 방법이 있나요 ? 또는 SQL 필드를 bit으로 변경하거나 DT_UI1과 같은 숫자 SSIS 유형을 사용해야합니까?

답변

3

TRIS의 DT_BOOL 값을 1로 변환하고 SQL Server 데이터 형식 tinyint의 SSIS quuivalent를 변환하기 위해 SSIS 패키지에 추가 변환 작업을 추가 할 수 있습니다. 물론이 작업을 통해 추가 처리 단계가 추가됩니다.

이것이 실제로 선택 사항이라면 내 의견으로는 데이터베이스 데이터 유형을 더 적절한 비트 데이터 유형으로 수정하는 것이 훨씬 나을 것입니다.

+2

지금은 DT_BOOL 대신 DT_I4를 사용했습니다. –

관련 문제