2016-08-24 1 views
1

MS SQL Server 2008을 사용하여 '~'구분 된 데이터 집합을 생성하고 있습니다. 내 쿼리 출력이 SQL Server 설정에서이 사용자 지정 구분 기호로 설정된 csv 파일로 저장됩니다. 문제는 임의의 문자가 삭제된다는 것입니다. SQL Server 내보내기에서 임의의 문자가 삭제되는 이유는 무엇입니까?

내가 '결과 텍스트'실행하면

는, 출력은 괜찮습니다. 그러나 '파일 결과'를 실행하면 임의의 문자가 하나의 공백으로 대체됩니다. 예를 들어, 내 필드 중 하나에있는 내 항목 중 하나가 '북쪽'으로 표시되며 '결과는 텍스트'로 출력되지만 '결과는 파일로'에 '오름'으로 표시됩니다. 마찬가지로 일부 구분 기호가 누락되었습니다. '1 ~ 1 ~ 1 ~ 1 ~ 1'은 '1 ~ 1 1 ~ 1 ~ 1'로 나옵니다.

행복하게 복사하여 '텍스트 결과'를 메모장에 붙여 넣고 csv로 저장하지만 불행히도 몇 줄 이상을 복사 할 수는 없습니다 (내 데이터 집합이 큽니다). 사람이 어떤 경우 아이디어 위기의

. 많은 감사합니다.

UPDATE : 내 코드 내보내기 마법사에서 동작하지 않습니다와 나는 매우 엄격한 방화벽 내에서 작동하고 나는이 SSIS에 액세스 할 수 없습니다. 누구든지 오류가 처음 발생하는 이유에 대한 아이디어가 있습니까?

+0

당신은 그런 식으로 데이터를 내보낼 SSMS를 사용하지 않아야합니다. 대신 실제 내보내기를 만드십시오. (데이터베이스, 태스크, 데이터 내보내기를 마우스 오른쪽 버튼으로 클릭하십시오.) – DavidG

+0

@DavidG 어떻게해야할지 모르겠습니다. 쿼리를 실행하고 있는데 어디에 오른쪽 마우스를 클릭할까요? –

+0

내 의견을 읽었습니까?! – DavidG

답변

0

빠른 검사 이외의 다른 결과는 사용하지 않습니다. 댓글을 달았 으면 내보내기 마법사를 실행하는 것이 좋습니다. 한 단계 더 나아가 SSIS 디자이너를 사용하여 패키지를 만드는 것이 좋습니다. 앞으로도 계속 유지하고 구축하는 것이 더 쉬울 것입니다. ,

하나는 파이프로 구분하고, 쉼표에 대한 다른 : 여기 https://www.youtube.com/watch?v=VCdPzdD-boQ

좋은 비 비디오 튜토리얼 :

여기에 다른 훌륭한 SSIS 물건과 함께 사이트에 좋은 비디오 튜토리얼 데이터가 문제 긴 문자열을 자르고 임의 캐리지 리턴을 추가하는 등의 일반적으로 물건을 내포이다 내보낼 SSMS를 사용하여, 의견에서 언급 한 바와 같이하지만 두 경우 모두 구분 기호는 ~

+0

감사합니다. 불행히도 저는 사용중인 서버에서 SSIS에 액세스 할 수 없습니다. 내부 SQL Server 옵션을 사용하여 문제를 해결하는 것이 좋습니다. –

+0

워크 스테이션의 VS 쉘에서 ssis 패키지를 실행할 수 있습니다. 최신 SSDT를 설치하기 만하면됩니다. 찾으려는 내보내기 마법사는 실제로 SSIS 패키지를 만들고 내부 SQL Server 옵션을 사용하지 않습니다. 그것들은 openrowset과 일괄 복사가 될 수 있습니다.하지만 제 생각에는 SSIS 디자이너가 훨씬 더 사용하기 쉽습니다. –

1

로 변경할 수 있습니다. 가장 좋은 옵션은 특히이 작업을 두 번 이상 실행하려는 경우 SSIS 작업을 사용하는 것입니다. 그러나 때로는 SQL 내보내기 데이터 마법사를 사용하는 것이 간단합니다. 오른쪽, 당신의 데이터가 데이터베이스를 클릭 선택 작업 다음 데이터 내보내기 ...과 마법사를 따릅니다. 어떤 이유로 당신이 사용하는 SQL이 승인되지 않을 경우

, 당신은 그것을 저장 프로 시저에 넣을 수 있습니다. 당신은 다음과 같이 저장 프로 시저에이를 넣을 수 있습니다

SELECT Column1, Column2, Column3 
FROM MyTable 

: 예를 들어, 한 쿼리가 아주 간단한 것이었다 말할 수

CREATE PROCEDURE GetMyData 
AS  

SELECT Column1, Column2, Column3 
FROM MyTable 

이 쿼리가 너무 데이터베이스 안에 저장된다는 것을 의미한다 .sql 파일이 없어도 필요할 때마다 SSMS에 파일을 붙여 넣을 수 있습니다.

그리고 지금 당신이 실행 쿼리가 단순히이 :

EXEC GetMyData 
+0

대단히 감사합니다! –

+0

@JimMichael upvote (충분한 담당자가있을 때)를 잊지 말고 여러분에게 적합한 해결책을 제시하는 답변을 수락하십시오. – DavidG

+0

물론 - upvoted있다 (이미 내가 충분한 담당자를 갖지 못했기 때문에 이미 피드백으로 저장되어있다.) –

관련 문제