6

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

我怎样才能做到这一点?我玩过convertand cast,但它似乎不起作用。

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

declare @var1 varbinary(max)
set @var1 'c:\xxx\inp.pdf' ???

接着:

insert into t1(xdata) values ( @var1);

或者也许我可以使用从文件中插入,不确定没有 BULK 是否可行?

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

谢谢大家的帮助。戴

4

2 回答 2

8

尝试这个:

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

或直接:

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

OPENROWSET与往常一样,可以在MSDN 的 SQL Server 联机丛书中找到有关该函数的更多详细信息。

于 2013-01-16T07:58:18.323 回答
0

您需要使用将文档写入其中的blob 列

于 2013-01-16T07:49:27.013 回答