none
Bulk insert 후 한글 깨짐 RRS feed

  • 질문

  • 안녕하세요.

    주기적으로 생성되는 text 파일을 bulk insert로 DB(MSSQL 2008R2)에 저장을 하고 있습니다.

    데이터는 정상적으로 저장이 되지만, 결정적으로 한글이 깨져서 들어옵니다.

    생성된 텍스트는 utf-8 인데요.  Daafiletype 및 formatfile 설정을 해봤습니다만 해결이 안됩니다.

    데이터 입력시 한글을 정상적으로 저장될 수 있는 방법이 없을까요?

    BULK INSERT table_1 FROM 'c:\test.txt'
    WITH (
     FIRSTROW  = 2,
     DATAFILETYPE = 'char',
     FIELDTERMINATOR = '|',
     ROWTERMINATOR = '|\n',
     KEEPNULLS
    )

    2013년 1월 22일 화요일 오전 12:44

답변

  • text 파일을 유니코드로 저장하시면 BULK INSERT 에서도 widechar 로 해서 한글 잘 들어옵니다.

    유니코드로 먼저 테스트해보십시오. 잘 되면 주기적으로 생성되는 text 파일을 유니코드로 저장을 검토하시면 될것 같습니다.


    Hong-ju

    2013년 1월 23일 수요일 오전 6:51

모든 응답

  • 불행히도, BULK INSERT 는 UTF-8 을 지원하지 않습니다.

    SQL Server does not support code page 65001 (UTF-8 encoding).

    [참고자료]

    BULK INSERT(Transact-SQL)

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    답변이 문제 해결에 도움이 되었다면 답변으로 채택을 부탁드립니다.
    하지만 문제 해결이 되지 않아서 정확한 답변을 원하는 경우에는 문제의 정보를 더 자세하게 답변으로 제공해주시기 바랍니다.

    2013년 1월 22일 화요일 오전 7:21
    중재자
  • text 파일을 유니코드로 저장하시면 BULK INSERT 에서도 widechar 로 해서 한글 잘 들어옵니다.

    유니코드로 먼저 테스트해보십시오. 잘 되면 주기적으로 생성되는 text 파일을 유니코드로 저장을 검토하시면 될것 같습니다.


    Hong-ju

    2013년 1월 23일 수요일 오전 6:51