문제

일부 SQL Server 2005 데이터를 CSV 형식으로 내보내고 싶습니다 (Comma-Separated with Quotes). 나는 그것을 할 수있는 복잡한 방법을 많이 생각할 수 있지만, 나는 그것을하고 싶습니다. 오른쪽 방법. 나는 BCP를 보았지만 필드 주위에 인용문을 넣는 방법을 알 수는 없습니다 (추악한 필드 값에 연결하는 것을 제외하고). 나는 sqlcmd와 -o로 그것을 할 수 있다고 생각하지만 같은 이유로 추악한 것 같습니다.

BCP 방법이 있습니까?

합리적인 SQLCMD 방법이 있습니까?

내가 간과하고있는 관리 스튜디오에 내장 된 훌륭하고 간단한 유틸리티가 있습니까?

도움이 되었습니까?

해결책

Management Studio에서 데이터베이스를 선택하고 마우스 오른쪽 버튼을 클릭하고 Tasks->Export Data. CSV, Excel 등을 포함한 다양한 형식으로 내보낼 수있는 옵션이 있습니다.

쿼리 창에서 쿼리를 실행하고 결과를 CSV에 저장할 수도 있습니다.

다른 팁

Management Studio에서 쿼리 옵션을 파일로 출력하여 옵션-> 쿼리 결과 구분기로 Comma를 사용하여 출력으로 출력을 설정하십시오.

관리 스튜디오를 사용할 수없는 경우 SQLCMD를 사용합니다.

sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","

그것이 명령 줄에서 그것을하는 빠른 방법입니다.

Sijin이 SQL Server Management Studio 2005에서 인용문을 올바르게 추가하기 위해 말한 것보다 한 가지 더해야했습니다.

Tools->Options->Query Results->Sql Server->Results To Grid

이 옵션 옆에 확인하십시오.

Quote strings containing list separators when saving .csv results

메모: 위의 방법은 SSMS 2005 Express에서 작동하지 않습니다! 내가 아는 한 SSMS 2005 Express를 사용하여 .CSV로 결과를 내보낼 때 필드를 인용 할 방법이 없습니다.

예, 관리 스튜디오에는 매우 간단한 유틸리티가 있습니다. 쿼리 결과를 CSV에 저장하려는 경우.

결과 세트를 마우스 오른쪽 버튼으로 클릭하십시오. "결과 저장 결과"를 선택하십시오. 기본 파일 유형은 CSV입니다.

요구 사항에 맞는 경우 사용할 수 있습니다 BCP 이 작업을 자주 수행하거나 생산 프로세스에 구축하려는 경우 명령 줄에서.

여기 링크가 있습니다 구성을 설명합니다.

Adhoc 쿼리의 경우 :

결과 표시 그리드 모드 (Ctrl+D), 실행 쿼리, 결과 그리드에서 왼쪽 상자 상자를 클릭하고 Excel에 붙여 넣고 CSV로 저장하십시오. 텍스트 파일에 직접 붙여 넣을 수 있습니다 (지금 시도 할 수 없습니다).

또는 "파일에 대한 결과"에는 CSV에도 옵션이 있습니다.

또는 쉼표 분리기와 함께 "텍스트 결과"

도구 아래의 모든 설정 .. options and query .. 옵션 (내 생각, 확인할 수 없음)도

Nocount를 설정하십시오

따옴표가 있습니다. -W2000을 사용하여 각 행을 한 줄에 유지하십시오.

SQL 2005에서는 간단합니다. 1. SQL Server Management Studio를 열고 필요한 SQL 문을 Exec SP_Whate 2. Grid에 Query-> 결과와 같은 TSQL에 필요한 SQL 문을 복사합니다. 3. SQL 문을 강조 표시하고 실행합니다. 데이터 결과 (결과 그리드의 왼쪽 상단 영역에서 왼쪽 클릭) 5. 이제 마우스 오른쪽 버튼을 클릭하고 결과 저장을 선택하십시오. 6으로 CSV를 선택하고 파일 이름을 입력하고 위치를 선택하고 저장을 클릭하십시오.

쉬운!

SQL Server 2012- 관리 스튜디오 :

Solution 1:

쿼리를 실행하십시오

결과 창을 마우스 오른쪽 버튼으로 클릭하십시오

메뉴에서 결과 저장을 선택하십시오

CSV를 선택하십시오

Solution 2:

데이터베이스를 마우스 오른쪽 버튼으로 클릭하십시오

작업, 내보내기 데이터를 선택하십시오

소스 DB를 선택하십시오

대상을 선택하십시오 : 플랫 파일 대상

파일 이름을 선택하십시오

형식 - 구분을 선택하십시오

테이블을 선택하거나 쿼리를 작성하십시오

열 분리기를 선택하십시오

메모: 따옴표와 같은 텍스트 필드를 구분하는 텍스트 예선을 선택할 수 있습니다.

쉼표가있는 필드가있는 경우 쉼표를 탈출하지 않기 때문에 쉼표를 구분기로 사용하지 마십시오. 수직 막대와 같은 열 구분기를 선택할 수 있습니다. | 쉼표 또는 탭 문자 대신. 그렇지 않으면 쉼표를 벗어나거나 바르 차르 필드를 구분하는 쿼리를 작성하십시오.

사용해야하는 탈출 문자 또는 텍스트 예선은 요구 사항에 따라 다릅니다.

이것을하는 가장 간단한 방법은 Excel에서 나온 것 같습니다.

  1. 새 Excel 파일을 엽니 다.
  2. 데이터 탭을 클릭하십시오
  3. 다른 데이터 소스를 선택하십시오
  4. SQL Server를 선택하십시오
  5. 서버 이름, 데이터베이스, 테이블 이름 등을 입력하십시오.

최신 버전의 Excel이있는 경우 PowerPivot에서 데이터를 가져 와서이 데이터를 테이블에 삽입 할 수 있습니다.

SSIS는이 작업을 수행하는 아주 좋은 방법입니다. 그런 다음 SQL Server 에이전트 작업을 사용하여 예약 할 수 있습니다.

다음 node.js 모듈을 사용하여 바람과 함께 할 수 있습니다.

https://www.npmjs.com/package/mssql-to-csv

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top