我尝试将.pdf
文件的内容放入varbinary(max)
类型的列中。
我如何才能做到这一点?我用过convert
和cast
,但它似乎不起作用。
我正在考虑定义var1 varbinary(max)
并将其设置为文件的内容,但这也失败了。
declare @var1 varbinary(max)
set @var1 'c:\xxx\inp.pdf' ???
然后:
insert into t1(xdata) values ( @var1);
或者我可以使用insert from from文件,不确定这在没有批量的情况下是可能的吗?
感谢您的帮助,我也不能在单个qoutes中使用.pdf
文件的内容,它将其视为varchar
-(
感谢大家的帮助。Dai
发布于 2013-01-16 15:58:18
试试这个:
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)
可以一如既往地在MSDN's SQL Server Books Online上找到有关OPENROWSET
函数的更多详细信息。
发布于 2013-01-16 15:49:27
您需要使用要向其写入文档的blob column
https://stackoverflow.com/questions/14353533
复制相似问题