정리 스크립트를 작성하고 있습니다. 이 스크립트는 주말에 실행되고 db를 정리합니다. 테이블은 Eamils와 관련이 있으며 첨부 파일의 경로는 테이블에 저장됩니다. 테이블을 정리할 때도 폴더에서 파일을 삭제해야합니다.커서를 사용하지 않고 T-SQL을 사용하여 폴더에서 여러 파일 삭제
파일 경로는 다음과 같습니다.
\\xxx.xxx.xxx.xxx\EmailAttachments\Some Confirmation for xyz Children Centre_9FW4ZE1C57324B70EC79WZ15FT9FA19E.pdf
다음과 같이 여러 개의 파일을 삭제할 수 있습니다.
그러나 FOR XML PATH ('')를 사용하여 테이블에서 CSV를 만들면 끝에 문자열이 잘립니다. 삭제할 행 수가 1000 개가 될 수 있으므로 커서를 사용하여 폴더에서 파일을 삭제하고 싶지는 않습니다.
-
내가 커서를 사용하지 않고 폴더 에서 파일을 삭제할 수 있습니다 방법
- 어떤 권한이 내가 SQL 서버에서 T-SQL을 사용하여 파일을 삭제 네트워크 폴더에 필요합니까
편집 : 나는 커서를 사용했고, 너무 많은 시간을 들여서는 안된다. 내가 직면하고 하나의 문제는
은 SQL Server가 문을
xp_cmdshell을 다음과 같이 두 개의 파일로 공간 파일 이름을 고려할 수 있습니다 :
'델 E를 표준 Invite.doc \' 오류가 발생했습니다
Could Not Find E:\Standard
Could Not Find C:\Windows\system32\Invite.doc
NULL
감사합니다.
왜 당신이 사용하는 SQL을 할 것와 파일 이름을 묶어야합니다 이름 공간 파일을 삭제하려면? 정말로 SQL을 사용해야한다면 왜 커서를 사용하지 않을 것입니까? – sqlvogel