Я пытаюсь экспортировать 30 лучших файлов изображений типов данных в PDF из моей базы данных, где documentpdf не пуст.
Я не знаю, как добавить параметры в мой запрос BCP, так что я думаю, что сделал это неправильно:
+'''WHERE id = '''+ @i +''' queryout "C:\exportdir\'''+ @name + '''.pdf" -T -N'
Может кто-нибудь помочь мне разобраться, чтобы это сработало?
DECLARE @i bigint,
@name varchar(50)
--Get Data into temp Table variable so that we can iterate over it
DECLARE @Doctable TABLE (id int identity(1,1), [Doc_Num] varchar(100) , [FileName] varchar(100), [Doc_Content] varBinary(max) )
INSERT INTO @Doctable([Doc_Num] , [FileName],[Doc_Content])
Select TOP 30 DocID , Description,DocumentPDF FROM Docs WHERE DocumentPDF IS NOT NULL
--SELECT * FROM @table
SELECT @i = COUNT(1) FROM @Doctable
WHILE @i >= 1
BEGIN
SELECT
@name = [description]
FROM @Doctable WHERE id = @i
EXEC master..xp_cmdshell 'BCP "SELECT DocumentPDF FROM'''+ @Doctable +'''WHERE id = '''+ @i +''' queryout "C:\exportdir\'''+ @name + '''.pdf" -T -N'
--Reset the variables for next use
SELECT @name= NULL
SET @i -= 1
END