저는 SSIS에 익숙하지 않아 OLE DB 원본 단계에서 SQL 문을 사용하여 데이터를 가져오고이 데이터에 5 개의 DATETIME 필드가 포함되어있는 문제가 발생합니다. 변환해야하며 모든 데이터가 플랫 파일로 들어갑니다.SSIS 날짜 문자열 변환 오류
나는과 같이 SQL의 변환을하고 있어요 :
REPLACE(CONVERT(VARCHAR(10), birthdate, 101), '/', '') AS 'Date of Birth (MMDDYYYY)
내 OutputColumnWidth이없이 SSIS에서 일하고 8입니다 위의 변환으로 잘라내기를 사용하면 8 자의 varchar가 만들어집니다. varchar (8)로 변환하려고하면 SQL Server 관리 스튜디오에서 데이터가 잘립니다.
제 다음 변환 시도가 실패했습니다.
REPLACE(CONVERT(VARCHAR(10), exp_date, 103), '/', '') AS 'Expiration Date
나는 다음과 같은 오류가 발생합니다 : 다음은 SQL 코드의 "값 때문에 데이터의 손실 가능성으로 변환 할 수 없습니다"모든 것이 동일한 설정으로 재현 된 경우에도. 이 변환은 날짜를 'DDMMYYYY
'형식으로 변환합니다.
저는 이것이 데이터 변환 오류라는 것을 알고 있지만 올바르게 작동하는 첫 번째 변환을 통해이를 해결하는 방법을 알지 못합니다.
재미있는 점은 오류가있는 행을 다른 플랫 파일로 리디렉션하면 날짜가 가져오고 아무런 문제없이 변환된다는 것입니다.
나는 여기를 잃고 그룹의 도움을 주시면 감사하겠습니다.
첫 번째 메시지에는 '101'MM/DD/YYYY 형식이 사용되고 두 번째 메시지에는 '103'DD/MM/YYYY 형식이 사용되는 이유는 무엇입니까? (문제가 발생하지 않아야합니다!) –
플랫 파일이 전송되는 부서에서 요청하는 내용입니다. Power Builder에서 수년간 실행 한 자동화 된 보고서를 SSIS로 변환하는 과정에 있는데이 형식이 원래 형식이었습니다. – kdejarnet
exp_date 어떤 데이터 형식 – Justin