如何将.pdf文件内容放入varbinary(max)列

use*_*778 6 sql-server-2008-r2

我正在尝试将.pdf文件的内容放入类型的列中varbinary(max).

我怎么能做到这一点?我打了convertcast,但它似乎并没有工作.

我正在考虑定义var1 varbinary(max)并将其设置为文件的内容,但这也失败了.

declare @var1 varbinary(max)
set @var1 'c:\xxx\inp.pdf' ???
Run Code Online (Sandbox Code Playgroud)

然后:

insert into t1(xdata) values ( @var1);
Run Code Online (Sandbox Code Playgroud)

或者也许我可以使用从文件插入,不确定这可能没有BULK?

感谢您的帮助,我不能.pdf在单个qoutes中使用文件的内容,它将其视为varchar- (

谢谢大家的帮助.戴

mar*_*c_s 6

试试这个:

DECLARE @pdf VARBINARY(MAX)

SELECT @pdf = BulkColumn
FROM OPENROWSET(BULK N'C:\Users\......\YourFile.pdf', SINGLE_BLOB) AS Document;

SELECT @pdf, DATALENGTH(@pdf)

INSERT INTO dbo.YourTable(PDFContents) VALUES(@Pdf)
GO
Run Code Online (Sandbox Code Playgroud)

或直接:

INSERT INTO dbo.t1(xdata) 
   SELECT BulkColumn
   FROM OPENROWSET(BULK N'C:\Users\......\YourFile.pdf', SINGLE_BLOB)
Run Code Online (Sandbox Code Playgroud)

有关该OPENROWSET功能的更多详细信息可以在MSDN的SQL Server联机丛书中一如既往地找到.


Clo*_*ble 0

您需要使用一个blob 列来写入文档