我正在尝试将 pdf 文件插入 sql 表(varbinary 列)
create table pdfTest(pdfData varbinary(max))
declare @filePath varchar(100)
set @filePath = 'c:\pdfSample.pdf'
INSERT INTO pdfTest (pdfData) SELECT * FROM OPENROWSET(BULK @filePath, SINGLE_BLOB) AS BLOB
然而,这给出了一个错误
Incorrect syntax near '@filePath'.
以下作业均无效
set @filePath = 'c:'\pdfSample.pdf'
set @filePath = 'c:\\pdfSample.pdf'
但以下语法有效
INSERT INTO pdfTest (pdfData) SELECT * FROM OPENROWSET(BULK 'c:\pdfSample.pdf', SINGLE_BLOB) AS BLOB
只是想知道如何在插入语句中使用 @filePath ?
谢谢
最佳答案
我认为这里的变量名没有得到解决。尝试在动态 sql 中使用变量名。
Declare @sql varchar(max)
Set @sql='INSERT INTO pdfTest (pdfData) SELECT * FROM OPENROWSET(BULK'+ @filePath+', SINGLE_BLOB) AS BLOB'
exec @sql
关于sql - 使用 SQL 将 pdf 文件插入 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18411106/