2011-05-12 3 views
1

내가 아래로 XP_CMDSHELL을 실행하고있다 : 나는 다음과 같은 오류가 발생했습니다XP_CMDSHELL BCP 오류

Exec XP_CMDSHELL 'bcp "Select OrderID, OrderDate, OrderDesc from DB.dbo.Order" queryout C:\Orderfile.txt -k -t \t -c -Slocalhost -T' 

:

. "BCP 호스트 데이터 파일을 열 수 없습니다"

c : \ 드라이브를 살펴본 결과 Orderfile.txt 파일이 있습니다. 나는 파일을 열지 않았거나 다른 프로그램이 파일을 열지 못했습니다. 하지만 여전히 나는이 오류가 발생합니다.

누구나 왜이 오류가 발생하는지 알 수 있습니까? 미리 감사드립니다.

두 가지 문제의

답변

2

하나 :

  • XP_CMDSHELL는 파일 시스템 (및 기타) 액세스를 위해 SQL Server 서비스 계정의 자격 증명을 사용합니다. 서비스 계정은 C의 루트에 대한 사용 권한이 없습니다 : 및 당신

  • SQL Server가 어딘가에 서버에 그것을 볼 수 있다면 그것은 중요하지 않습니다 (설치 즉, 로컬이 아닌) 로컬 C : 드라이브에 액세스하려고합니다. SQL Server는 물론 이것을 볼 수 없습니다 ...

+0

감사합니다. 서버에 파일을 만들었으므로 제대로 작동합니다. – niceApp

0

드라이브에 대한 전체 권한이 있어야합니다. 파일이 자동으로 생성됩니다. 간부는 master..xp_cmdshell 'QUERYOUT C BCP ".. [테스트] [DBO] [고객]에서 선택 *을": \ 백업 \ customer123.txt -S HP-PC -T -c'

enter image description here

관련 문제