2017-05-19 12 views
1

"Bulk Insert Task"를 사용하여 내용이 아래에있는 csv 파일을 SQL Server 2012 데이터베이스 테이블 NYC_Business_Establishment_DataSet에로드하려고합니다. SSIS 2012 제어 흐름. 제어 흐름 작업이 오류없이 완료되었지만 대상 테이블에서이 레코드를 볼 수 없습니다. 제발 조언.원본 파일을로드하지 않고 대량의 오류가없는 BUK (Bulk Insert Control Flow Task) 작업

CSV 파일 내용

DBA,Establishment Street,Establishment Zip,Establishment Borough,Business Sector,Establishment Category,Type of Cuisine,Number Of Employees,Actual Opening Date 
Palermo Salumeria,33-35 Francis Lewis Blvd,11358,Queens,,,,, 
Foragers City Grocers,300 West 22nd Street,10011,Manhattan,,,,, 
Cultural Xchange,35 Lafayette Ave,11217,Brooklyn,,,,3, 

목표 테이블 사용 [DB] GO

/****** Object: Table [dbo].[NYC_Business_Establishment_DataSet] Script Date: 5/19/2017 3:31:55 PM ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

CREATE TABLE [dbo].[NYC_Business_Establishment_DataSet](
    [DBA] [varchar](1000) NULL, 
    [Establishment Street] [varchar](1000) NULL, 
    [Establishment Zip] [int] NULL, 
    [Establishment Borough] [varchar](100) NULL, 
    [Business Sector] [varchar](1000) NULL, 
    [Establishment Category] [varchar](1000) NULL, 
    [Type of Cuisine] [varchar](100) NULL, 
    [Number Of Employees] [int] NULL, 
    [Actual Opening Date] [date] NULL 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO 

감사

+0

CSV에 대한 자세한 내용을 추가하십시오. 당신이 원하는대로 최종 결과물을 만들 수 있을까요? CSV 파일 –

답변

0

입력 데이터 파일에 문제가 있습니다. 그는 [직원 수], [실제 영업일] 마지막 두 열에 대해 파일의 데이터가 비어 있고 null이 아니 었습니다. 그래서 실패하고 있습니다.

데이터 흐름 태스크를 사용하여 파일을로드 할 수 있습니다. 문자열을 NULL로 변환하는 파생 열 변환이 추가되었습니다.

TRIM([Number Of Employees]) == "" ? NULL(DT_I4) : (DT_I4)[Number Of Employees] 
TRIM([Actual Opening Date]) == "" ? NULL(DT_DBDATE) : (DT_DBDATE)[Actual Opening Date] 
+0

안녕하세요 Srinivasa, 귀하의 회신을 보내 주셔서 감사합니다. 마지막 2 열에 null 대신 빈 문자열이 있다는 것을 어떻게 알았습니까? 나는 파일을 만들 수 없다. –

+0

BCP와 함께 실패했을 때 DataFlow로로드하려고했습니다. 열에 잘못된 문자 오류가 발생하면 빈 찌침이 문제가 될 것이라고 추측됩니다. 일단 파생 된 열 변환을 추가하면 데이터를 성공적으로로드 할 수 있습니다. –

+0

와우 지능형, 팁 주셔서 감사합니다. 한 번 시도하고이 질문을 닫을 것입니다. –

0

데이터 흐름의 "원본에서 Null 값으로 데이터 값 유지"확인란을 선택하면이 문제가 해결됩니다.

데이터 파일의 필드가 일관되고 대상 필드가 정수 및 날짜 인 경우에만 문제가 발생합니다.

나는 값이 비어있을 때 csv 파일을 가정하고 NULL로 삽입해야합니다.

다른 점이 있으면 알려주세요.