2012-03-15 4 views
0

큰 파일을 db로 가져 오기 위해 형식 파일과 함께 대량 삽입을 사용하고 있습니다. 파일 중 일부는 때때로 인용 부호로 묶인 값을 가진 csv이며이 따옴표는 가져온 테이블에 들어갑니다.대량 삽입을 통한 데이터 대량 복사시 따옴표 한정자 제거

따옴표를 가져 오지 않도록 벌크 삽입이있는 방법이 있습니까? 나는 일괄 삽입 및 OPENROWSET에 대한 MSDN 설명서를 살펴 보았고 인터넷을 검색했습니다.

+0

필자는 (a) 최종로드를 수행하기 전에 스테이징 테이블에 대량으로 삽입하고 따옴표를 먼저 제거했습니다 (어쨌든 복구면에서 더 안전 할 수 있음). 또는 (b) 간단한 C# 명령 줄 도구를 사용하여 데이터 파일을 미리 구문 분석하고 올바른 형식으로 저장하십시오. –

+0

오늘 스테이징 테이블로로드 한 다음 일단 스테이징으로로드되면 따옴표를 교체합니다. 나는 실제로 이런 식으로하는 것을 멈출 수 있기를 바라고 있습니다. –

답변

0

BULK INSERT으로 작업 할 때 삽입하려는 데이터를 #staging_table에 넣으려고합니다. 대개 varchar() 열입니다. 이것은 나에게 삽입하기 전에 데이터를 조사 할 기회를 주며 원시 BULK INSERT 프로세스보다 더 친숙한 방식으로 오류를 검사합니다.

귀하의 콘텐츠를 임시 스테이징 테이블로 푸시 한 다음 스테이징 테이블에서 수정 된 내용을 삽입하기 전에 UPDATEREPLACE()을 사용하여 큰 따옴표를 제거하십시오.

+0

나는 이미 이것을하고 있는데, 나는 이것을 더 이상 할 필요가없는 방법을 찾고있다. –

관련 문제