BCP를 사용하여 많은 BLOB를 파일로 추출하고 SQL 테이블의 ID 필드를 사용하여 각 파일에 고유 한 이름을 부여하는 방법이 있는지 궁금합니다. 이 작동 :테이블의 파일 이름으로 BCP 쿼리 아웃을 수행하려면 어떻게해야합니까?
DECLARE @Command NVARCHAR(4000)
SET @Command = 'bcp "SELECT FileData FROM MyDB.dbo.Attachments
WHERE Hist_ID = ''00004F13''"
queryout "C:\Wha.pdf" -T -c -C RAW -S SERVERNAME -U SA -P pa$$word'
EXEC xp_cmdshell @Command
그러나 파일 이름을 얻기 위해, 나는 시도했다 :
DECLARE @FileName varchar(50),
@Command NVARCHAR(4000)
SET @FileName = Hist_ID+'wha.PDF'
SET @Command = 'bcp "SELECT FileData FROM MyDB.dbo.Attachments
WHERE Hist_ID = ''00004F13''" queryout'
SET @Command = @Command + 'C:\' + @FileName + '-T -c -C RAW
-S SERVERNAME -U SA -P pa$$word'
EXEC xp_cmdshell @Command
내가 오류 얻을 : 잘못된 열 이름을 'Hist_ID'. 이 작업을 수행 할 수있는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다!
커서를 사용하여'MyDB.dbo.Attachments'를 거쳐 SQL을 동적으로 빌드하고 행마다 실행해야합니다 . 나보다 더 열정적 인 누군가가 이것을 게시 할 수도 있고, 그렇지 않으면 아무도하지 않을 것이다. –
당신이 할 수 있다면, 굉장하겠습니까, 닉! 무리 감사. – user1646210
안녕 모두 - 여기 솔루션에 필사적입니다. 나는 어디에서나 검색했고 "bcp 파일 이름에 datetime을 추가하는 방법"만을 발견했습니다. 당신이 줄 수있는 도움에 미리 감사드립니다. – user1646210