PDFファイルをディレクトリに抽出するクエリがあります。しかし何らかの理由ですべてのファイルが空(0 KB)です。 列PDF
は、image
データ型として格納されます。私は時代遅れだが、私はデータベースの所有者ではない。 回避策をお勧めしますか?xp_cmdshellがイメージデータ型に格納されたデータベースから空のPDFファイルをエクスポートする理由
CREATE TABLE #tblPolicyForms
(
FormID INT NOT NULL
,PDF varbinary(max) NULL
,PDF_FIlename VARCHAR(max)
)
INSERT INTO #tblPolicyForms
SELECT FormID,
PDF,
PDF_FileName
FROM [dbo].[tblPolicyForms]
WHERE FormID IN (19,20,21,22)
--select * from #tblPolicyForms
DECLARE @FormID varchar(4);
DECLARE @FileName VARCHAR(200);
DECLARE FormID_cursor CURSOR FOR
SELECT
FormID
,PDF_FIlename
FROM
#tblPolicyForms
WHERE FormID IN (19,20,21,22)
OPEN FormID_cursor
FETCH NEXT FROM FormID_cursor
INTO @FormID, @FileName
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @cmd VARCHAR(8000) = 'BCP "SELECT PDF FROM #tblPolicyForms " queryout "C:\Users\oserdyuk\Documents\ExportDir\'[email protected]+'" -T -N'
--print @cmd
EXEC master.dbo.xp_cmdshell @cmd;
FETCH NEXT FROM FormID_cursor
INTO @FormID, @FileName
END
CLOSE FormID_cursor
DEALLOCATE FormID_cursor
ありがとうございました。各ファイルのサイズは63 KBで、サイズはすべて同じです。しかし、私がそれを開こうとすると、Acrobat Readerでエラーが表示されます:「サポートされているファイルタイプでもファイルが破損しているために開くことができませんでした」 – Oleg
私は気付きませんでしたが、ファイル。 BCPにWHERE句が必要です。私はその情報で上記の答えを編集します。 – kirchner