首页 > 解决方案 > 将文件夹中的 100 张图像导入 SQL Server 表

问题描述

我在 D:\img 中有一个文件夹,其中包含 100 个名为 1.jpg ,2.jpg , .... , 100.jpg 的图像 如何将它们全部插入 SQL Server 表中

我在 SQL Server 中的表:

create table capital_image
(
    id  int  identity(1,1) PRIMARY KEY,
    capital_img varbinary(MAX)  
)

要插入一张图像,我使用了这个命令它的工作我可以为多个图像复制命令,但是复制命令 100 次没有意义

INSERT INTO capital_image (capital_img)
    SELECT *
    FROM OPENROWSET(BULK N'D:\img\1.jpg', SINGLE_BLOB) IMG_DATA;

如何将该文件夹中的所有 100 张图像插入 SQL Server 表中?

标签: sqlsql-server

解决方案


尝试类似:

DECLARE @i int = 1

WHILE @i<=100
BEGIN
INSERT INTO capital_image(capital_img)
SELECT *
FROM   OPENROWSET(BULK N'D:\img\'+ cast(@i as varchar) + '.jpg', SINGLE_BLOB) IMG_DATA
SET @i = @i+1
END

但是,仅将图像的路径存储在字符串中并从应用程序访问这些路径会更有效。

我的测试: https ://rextester.com/EHOL25072

在我的测试中,我没有插入或获取图像,我只是看看路径是否正确。


推荐阅读