이것이 중복 된 질문 이 아니며 그 문제에 대한 잠재적 인 중복 이 아님 을 분명히하여 시작하겠습니다 . StackOverflow 및 DBA Stack Exchange에서 이미이 문제가있는 모든 단일 변형에 대한 모든 답변을 운이없이 구현하려고했습니다.
지난 2 일 동안이 문제로 어려움을 겪어 왔으며 (하루 약 7 시간 동안 문제를 해결 함) 인터넷 검색 후에도 다른 사람이 내 문제와 동일한 변형을 가지고 있지 않습니다.
내가 무엇을하려고합니까?
SSIS에서 CSV 파일을 읽고 행을 OLE DB 데이터베이스에 삽입하려고합니다. 이를 위해 아래에서 볼 수있는 것처럼 가장 간단한 설정을 수행했습니다.
Flat File Source
-CSV 행을 읽습니다.Derived Column
-현재는 아무것도하지 않습니다 (실험을 위해서만 있습니다).Data Conversion
-현재는 아무것도하지 않습니다 (실험을 위해서만 있습니다).OLE DB Destination
-데이터베이스에 행을 저장합니다.
실행하려고 하면 다음 오류 메시지와 함께 OLE DB 대상 에서 실행이 중지됩니다 .
"OLE DB 대상 입력"(51) 입력에서 "양"(187) 입력 열에 오류가 발생했습니다. 반환 된 열 상태는 "데이터가 손실 될 수 있으므로 값을 변환 할 수 없습니다."입니다.
실패한 열 ( Amount
)은 현재 유형 DT_STR
입니다. 내가 지금 가장 믿고있는 유형 인 것 같습니다.
내가 무엇을 시도 했습니까?
Flat File Connection
실패한 열에서 '제안 유형'기능을 사용해 보았습니다 . 이로 인해Single byte signed int
데이터 유형 이 권장되었습니다 .- 에서 정지 나의 플랫 파일 소스 .
- 오류 는 데이터 변환에 실패했습니다. 열 "Amount"에 대한 데이터 변환이 상태 값 2와 상태 텍스트 "데이터 손실 가능성으로 인해 값을 변환 할 수 없습니다."를 리턴했습니다.
- 을 사용
Derived Column
하여 열을에 캐스트했습니다DT_I4
.- 에 중지 내 파생 열 .
- 오류 는 데이터 변환에 실패했습니다. 열 "Amount"에 대한 데이터 변환이 상태 값 2와 상태 텍스트 "데이터 손실 가능성으로 인해 값을 변환 할 수 없습니다."를 리턴했습니다.
Data Conversion
열을 사용하여 열 값을 캐스팅 하려고 했습니다DT_I4
.- 내 에서 멈 춥니 다
Data Conversion
. - 오류 는 데이터 변환에 실패했습니다. 열 "Amount"에 대한 데이터 변환이 상태 값 2와 상태 텍스트 "데이터 손실 가능성으로 인해 값을 변환 할 수 없습니다."를 리턴했습니다.
- 내 에서 멈 춥니 다
DT_STR
소스와 대상에서 내 값 의 길이를 변경하려고했습니다 .- 설정에 따라 소스 또는 대상 에서 정지 합니다.
- 내가 대신에 엑셀 소스 커넥터를 사용하여 연결 시도했습니다 과 를 빼고
IMEX=1
연결 문자열에 추가됩니다. 불운.
내 프로그래밍 감각은 내가 망했다는 것을 말해줍니다. 나는 그런 단순한 문제에 대해 이렇게 큰 문제를 겪어 본 적이 없다.
왜 데이터의 "잠재적 인"손실을 무시할 수없는 것일까 요? 가장 적게 말하면 정말 실망입니다.
내 시스템
SQL Server 2008이 설치된 Windows Server 2008 R2 시스템입니다. 컴퓨터 자체는 Windows Update를 통해 완전히 업데이트됩니다.
Amount
?
Amount
열을 선택하십시오 . 스크린 샷을 찍고이 사진으로 질문을 업데이트하십시오.