2012-10-11 5 views
0

bcp 가져 오기 도구 사용시 약간의 문제가 있습니다. 이 경우 .csv 데이터 파일 (문자 인 경우 필드 구분 기호)과 형식 파일이 있습니다. 테이블에 데이터를 성공적으로 가져올 수 있지만 데이터 파일에 빈 문자열 대신 NULL 값을 가져옵니다.외부 데이터 파일 및 형식 파일과 함께 bcp 유틸리티를 사용할 때 NULL 값 대신 빈 문자열 (열 기본값)을 가져옵니다.

col1|col2|||col5|col6 

데이터 파일에 샘플 레코드로 아래 생각 난 내 테이블 정의에 출력

col1 col2 (empty string) (empty string) col5 col6 

이하 기대하고

col1 col2 NULL NULL col5 col6 

하지만

아래처럼 출력, 기본값은 빈 문자열입니다 있어요 데이터 파일 (bcp 데이터 내보내기 명령) 또는 bcp 명령을 가져 오는 데이터에 문제가 있기 때문입니다.

제가 데이터 BCP [데이터베이스]를 반입하는 데 사용되는 명령 인 M의 [표]. \ 데이터 \ xx.csv -f M : \ 포맷 \ XX.FMT -S 서버 이름 -T

감사합니다. 그리고 모든 대답은 환영합니다.

+0

나는 당신의 도구를 모르지만 주어진 값에 대해 NULL 값을 생성하는 INSERT INTO 문을 생성하는 것 같습니다. – YvesR

답변

0

나는 예를 들어

""당신이 기본값 빈 문자열을 가지고 테이블의 열을 생성해야 믿습니다

create table mytable (
    col1 varchar(10) default "" 
) 
+0

SQL Server 2008 및 해당 도구를 사용하여 테이블을 만들고 수정합니다. 나는 각 컬럼에 대해 디폴트 값 속성 (디폴트 값 또는 바인딩)을 넣지 않으며 NULL도 허용한다. – Nish

+0

열 정의를 기본값 인 빈 문자열로 변경할 수없는 경우 파일을 스테이징 테이블로 bcp 한 다음 삽입이 빈 문자열을 사용할 수있는 주 테이블에 삽입 할 수 있습니다. –

+0

고마워, 실제로 이번에는 NULL 값으로 계속할 가능성을 확인했습니다. NULL 값에 아무런 문제가 없으므로 데이터베이스 작업의 작은 부분이기 때문에 BCP 가져 오기를위한 다른 테이블을 추가하여 추가 시간을 소비하는 이유이기 때문에 그대로 사용했습니다. – Nish

0

당신은 편집기의 속성에서 관리 스튜디오의 인터페이스에서 업데이트 할 수 있습니다 열의 기본값 또는 바인딩 : ('')