use*_*778 6 sql-server-2008-r2
我正在尝试将.pdf文件的内容放入类型的列中varbinary(max).
我怎么能做到这一点?我打了convert和cast,但它似乎并没有工作.
我正在考虑定义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- (
谢谢大家的帮助.戴
试试这个:
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联机丛书中一如既往地找到.