将图像批量插入 SQL 服务器数据库
Bulk insert images into SQL Server database
我想这样插入图片:
DECLARE @lpath varchar(100)
SET @lpath = 'd:\Photo04.jpg'
--insert into Photos(id, Photo, Path)
SELECT
4144, *, @lpath
FROM
OpenRowSet(BULK @lpath, Single_blob) AS i
但它不起作用
如果我这样执行代码:
SELECT
1, *, @lpath
FROM
OpenRowSet(BULK N'd:\Photo04.jpg', Single_blob) AS i
效果很好。
如何像第一种方式一样执行脚本?
您不能在 OpenRowSet
中使用变量,尝试像这样使用动态 SQL:
DECLARE @lpath NVARCHAR(100)
SET @lpath = 'd:\Photo04.jpg'
DECLARE @sql NVARCHAR(MAX)
SET @sql='SELECT 4144, *, ''' + @lpath + '''
FROM OpenRowSet(BULK ''' + @lpath + ''', Single_blob) AS i'
EXEC(@sql)
我想这样插入图片:
DECLARE @lpath varchar(100)
SET @lpath = 'd:\Photo04.jpg'
--insert into Photos(id, Photo, Path)
SELECT
4144, *, @lpath
FROM
OpenRowSet(BULK @lpath, Single_blob) AS i
但它不起作用
如果我这样执行代码:
SELECT
1, *, @lpath
FROM
OpenRowSet(BULK N'd:\Photo04.jpg', Single_blob) AS i
效果很好。
如何像第一种方式一样执行脚本?
您不能在 OpenRowSet
中使用变量,尝试像这样使用动态 SQL:
DECLARE @lpath NVARCHAR(100)
SET @lpath = 'd:\Photo04.jpg'
DECLARE @sql NVARCHAR(MAX)
SET @sql='SELECT 4144, *, ''' + @lpath + '''
FROM OpenRowSet(BULK ''' + @lpath + ''', Single_blob) AS i'
EXEC(@sql)