一键快速:ms sql服务器批量导入图片(图片批量导入 mssql)
MSSQL(Microsoft SQL Server)是一种由Microsoft公司推出的关系型数据库服务器,它可以保存结构化和子结构化报表所需的大量信息,例如视频、音频和图片。有时候我们需要快速将多张图片批量导入到MSSQL服务器中,以下示例介绍如何一键快速实现MSSQL服务器批量导入图片。
首先,需要准备一台MSSQL服务器,可以通过Windows自带的安装程序安装,或者是在云服务器上创建新的MSSQL服务器。
其次,编写如下的数据库脚本,用于构建表存储图片,这里使用的是varbinary类型:
GET CREATE TABLE [Image] (
[Id] [int] IDENTITY(1,1) NOT NULL, [FileData] [varbinary] (max) NULL
)
接下来,编写一段SQL脚本代码,用于读取图片并将其导入到MSSQL服务器:
CREATE PROCEDURE ImportImage
( @ImagePath VARCHAR(256),
@FileName VARCHAR (128), @FileData VARBINARY(MAX) OUTPUT
) AS
BEGIN SET NOCOUNT ON;
SET @FileData = 0x; DECLARE @FileHandle INT
EXECUTE xp_CMDShell ' TYPE ' + @ImagePath + @FileName + ' > C:\TEMP\MyImage.tmp'
EXECUTE @FileHandle = SP_OACREATE 'ADODB.Stream', @FileHandle OUTPUT EXECUTE SP_OASETPROPERTY @FileHandle, 'Type', 1
EXECUTE SP_OAMETHOD @FileHandle, 'Open' EXECUTE SP_OAMETHOD @FileHandle, 'LoadFromFile', NULL,
'C:\TEMP\MyImage.tmp' EXECUTE SP_OAMETHOD @FileHandle, 'read', @FileData OUTPUT
SELECT @FileData EXECUTE SP_OADestroy @FileHandle
ENDGO
最后一步,编写 =SQLCommand语句来执行导入图片的操作:
SQLCommand = “EXECUTE dbo.ImportPicture @ImagePath = ‘C:\Images\’, @FileName = ‘” + FileName + “‘, @FileData OUTPUT”
上述步骤完成后,可以编写一段SQL语句,即可完成一键快速的MSSQL服务器批量导入图片的操作:
INSERT INTO [Image] ([FileData])
SELECT FileDate
FROM [dbo].[ImportPicture]
该方法可以快速实现将多个图片批量导入MSSQL服务器,执行一次性插入语句,便可以实现一键快速的MSSQL服务器批量导入图片的效果。