2017-11-07 7 views
1

이 질문은 줄 바꿈 또는 캐리지 리턴으로 인해 SQL 그리드 결과가 Excel로 복사되어 줄 바꿈 문제가 발생하여 결과가 잘리고 다음 행에서 시작했다.SQL Email to CSV, 결과에 줄 바꿈 문제가 있음

Name  Order# Date  PartDescription  Store  Phone# 
----  ------- ------  ---------------- -----  ----------- 
Tom's 3181  10/7/2017 SB4356 Artwork... Downtown 208.452.6354 

대신 내가 Excel로 SQL 그리드 결과를 복사 할 때이 문제가 발생하지 않습니다이

Name  Order# Date  PartDescription  Store  Phone# 
----  ------- ------  ---------------- -----  ----------- 
Tom's 3181  10/7/2017 SB4356 Artwork... Downt 
own  2080.452.6354 

처럼 보일 것이다. 이 문제는 SQL을 동적 SQL로 실행하고 CSV를 통해 결과를 전자 메일로 보낼 때 발생합니다. 나는 그 차이가 무엇인지 모르겠다. 이 문제는 일반적으로 100 개 이상의 사용자가 입력 한 문자 인 부품 설명 필드로 격리 할 수 ​​있습니다. 해당 필드를 제거하면 이런 일이 발생하지 않습니다.

LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE(PartDescription, CHAR(13), ''), CHAR(10), ' '), CHAR(9), ' '), ',', ' '))) 

을 작은 단계에서 그것을 시도하고는 영향을 미치지 않은 :

나는 일을 시도했습니다. 내가 말했듯이, 그것은 결과를 Excel로 복사하는 작업입니다. CSV로 이메일을 보낼 때가 아닙니다. 나는 정말로 불가분의 charatcers가 이것을 일으키는 원인이 될지도 모르는 것을 어떻게 분리 할 지 잘 모르겠다.

나는이 방법을 사용하여 다른 사람들이 과거에 자동 보고서를 수정했습니다. 이건 완고하다. SQL은 SQL Server Agent에서 동적으로 실행되며 결과를 CSV 형식으로 전자 메일로 보냅니다. 나는 또한 뷰에 SQL 저장을 시도하고 동적 SQL의 뷰를 재미, 변경없이 호출했다.

+0

"SQL 결과를 Excel로 복사"한다는 것은 SSMS 그리드를 복사한다는 것을 의미합니까? 아무도 이것에 대한 답변을 제시 할 수는 없습니다. 매우 모호합니다. 표현식을 통과하지만 전자 메일에 줄 바꿈이 계속 나타나는 줄 바꿈을 사용하여 데이터 조각을 분리 할 수 ​​있습니까? –

+0

복사는 SSMS 그리드에서 복사/붙여 넣기를 참조합니다. 나는 그 문제가 무엇인지 완전히 이해하지 못했을 때 그것을 더 잘 묘사하는 방법을 모르겠습니다. 문제를 더 잘 설명하기 위해 격리 된 데이터 행을 사용하여 질문을 업데이트하겠습니다. – BWoods

답변

1

동일한 문제가 있었지만 255자를 초과하면 줄 바꿈이 발생했습니다. PartDescription 필드에 문자가 많은 경우 동일한 문제가 발생할 수 있다고 생각합니다. 당신이 옵션을 추가 할 경우, sp_send_dbmail를 사용하는 가정 : 당신이 필요로

@query_result_width=500 

또는 무엇이든 폭을, 그것을 수정해야합니다.

+1

시도해야합니다! 문제가 해결 될 수도 있고 해결되지 않을 수도 있지만 그렇지 않으면 찾을 수 없었습니다. – BWoods