2011-11-29 4 views
2

전자 메일 통신을 대량 삽입을 사용하여 데이터베이스 테이블로 가져 오려고하지만 CR 및 LF 문자를 유지할 수없는 것으로 보입니다. 의는 다음 사항을 고려하자SQL Server - CR 또는 LF 문자를 잃지 않고 대량 삽입

CREATE TABLE myTable (
    Email_Id int, 
    Email_subject varchar(200) NULL, 
    Email_Body TEXT NULL 
) 

대량 삽입 문은 다음과 같습니다

codepage = '1250', 
fieldterminator = '<3P4>', 
rowterminator = '<3ND>', 
datafiletype = 'char' 

파일은 (CR 및 LF 문자를 포함하여) 모든 이메일이 포함되어 있습니다. 데이터를 가져 와서 CR 및 LF 문자를 포함하고 싶습니다. BULK INSERT가 각 항목을 단일 행으로 처리하지만 CR 및 LF 문자를 제거한다는 의미입니까? 그렇다면이 CSV 파일을 가져 오기 위해 무엇을 사용할 수 있습니까? SSIS에 액세스 할 수 없으며 SQL 코드를 사용하여 SSI를 수행하는 것을 선호합니다.

예 데이터 :

11324<3P4>Read this email because it's urgent<3P4>Haha John, 

I lied, the email was just to mess with you! 

Your Nemesis, 
Steve 

P.S. I still hate you! 
<3ND> 
11355<3P4>THIS IS THE LAST STRAW<3P4>Steve, 

I have had it with you stupid jokes, this email is going to the manager. 

Good day, 
John 
<3ND> 

답변

1

그것은 당신이 어떤 도구에서 그들을 볼 수없는 경우에도, 캐리지 리턴과 줄 바꿈으로 가져와야합니다. 이 방법으로 XSL을 가져 오면 모든 줄 서식이 보존됩니다.

+0

조이 맞습니다. Management Studio 내의 그리드보기에서는 보이지 않을 수도 있지만 텍스트보기로 전환하거나 해당 필드의 데이터를 복사하여 텍스트 패드 나 전자 메일 클라이언트 등에서 볼 때 볼 수 있습니다. –

+0

메모장 ++에서 텍스트를 복사하고 CR 또는 LF를 보지 못했습니다. 결과를 내보내려고하지만 동일한 결과가 예상됩니다. – alexstr

+0

비교를 위해 텍스트를 어떻게 내 보냅니 까? 일부 도구는 줄 끝을 제거합니다. – Joe

관련 문제