2012-10-25 2 views
0

폴더에 스크립트 파일이 있습니다.이 스크립트를 실행하기 위해 SSIS에서 열어 보지 않고이 스크립트를 실행하려면 TSQL을 사용하고 싶습니다. CSV를 생성하는 스크립트.osql.exe를 사용하여 .sql 스크립트를 실행하여 .csv 파일 생성

나는 프로세스 태스크를 사용하여이를 달성하기 위해 OSQL을 사용했지만 정확한 결과를 얻지 못했습니다. 그것은 csv에 공백을 생성합니다. 그래서,

-E -S CCCMSDSQL20,1819 -d SHARE_SCRUB -q "SET NOCOUNT ON" -i "C:\Scripts\.SQL" -o "C:\Scripts\.csv" -n -h-1 -s"," -w 700

내가 같은를 달성 할 수있는 TSQL 스크립트를 선호 : 내가 사용 OSQL code.The OSQL을 사용하여 실행하면 내가 CSV 옵션으로 오른쪽 클릭하면 내 보낸 17 메가 바이트 파일은 1GB 밝혀졌다 Execute SQL 작업에서이 작업을 사용하여 결과를 얻을 수 있습니다.

EDIT : 폴더의 여러 .sql 파일에서 여러 개의 CSV를 생성하려고합니다. 각 루프 컨테이너에 대해 사용 중이며 지금부터는 프로세스 작업을 실행합니다. SQL을 실행하는 프로세스 실행 작업을 변경하려고합니다. 이 스크립트를 사용하여 여러 파일을 생성하십시오.

하나의 스크립트에서 반복 및 CSV 파일 생성이 가능한 TSQL 코드를 작성할 수 있다면 패키지를 사용하지 않고도 사용할 수 있습니다.

시간과 도움에 감사드립니다.

+1

SSIS 데이터 흐름 대신 .sql 스크립트를 사용해야하는 이유를 설명 할 수 있다면 도움이 될 것입니다. – Pondlife

답변

0

osql에 대한 매개 변수는 예상대로이며, 작은 데모로 비슷한 작업을 수행했으며 문제없이 작동합니다.

SSMS에서 실제 SQL 스크립트와 그 결과를 검사하여 원하는 것 이상을 반환하지 않는지 확인합니다.

또한 Execute SQL 작업에서이 기능을 사용하고자하므로 원하는 내용이 아닐 수도 있지만 bcp는 SQL에서 데이터를 복사하고 SQL에 데이터를 복사하도록 특별히 설계되어 있으므로 사용할 수 있습니다. opendatasource를 사용하여 순수한 T-SQL을 사용하여 -o를 사용하지 않고 CSV 파일을 만들어 OSQL의 결과를 파일로 덤프합니다.

+0

@Pondlife : 답장과 편집을 해주셔서 감사합니다. SQL 스크립트는 Execute SQL 작업에서 사용하고 각 루프 컨테이너에 대해 여러 스크립트를 실행하고 CSV를 생성하는 데 사용됩니다. 지금은 프로세스 실행 작업과 OSQL을 사용하여 위에서 설명한 것처럼 오류를 제공합니다. TSQl 스크립트를 사용하면이 작업을 수행하는 데 도움이됩니다 – user1757018

+0

답장을 보내 주셔서 감사합니다. opendatasource.is를 사용하는 방법을 설명해 주실 수 있습니까? TSQL을 특별히 찾고 있습니다. 그래서 나는 OSQL을 제 코드에서 완전히 제거 할 수 있습니다. – user1757018

+0

@ user1757018 http://www.sqlservercentral.com/articles/OpenDataSource/61552/에서 살펴보십시오. 대부분이 내용을 읽는 것이지만 동일한 기본 개념이며 다른 리소스에 대한 링크가 있습니다. – TimothyAWiseman