如何使用存储过程将图像插入包含许多列和图像列varbinary类型的表中?

问题描述

我正在尝试使用sql Server 2019中的存储过程将用户信息插入到表中,例如用户ID,用户名,userAddress,UserPicture。

问题是我不知道如何使用存储过程向包含其他列的表中添加图像

注意::我已经在互联网和StackOverflow上进行了搜索,但是找不到确切的需求。

我尝试了以下解决方案: Cannot bulk load. The file "'+ @imagepath +'" does not exist or you don't have file access rights

    USE [SysTest]
GO


ALTER PROCEDURE [dbo].[userinformations_insert]
@UserId nvarchar(55),@UserName nvarchar(max),@UserPhone int,@UserAdress int,@UserEmail nvarchar(50),@imagepath nvarchar(100),AS
BEGIN

IF EXISTS ( SELECT 1 from User)
BEGIN

   update User  set userPicture = (SELECT  BulkColumn
        FROM Openrowset(Bulk '''+ @imagepath +''',Single_Blob) as img),userEmail = @userEmail,userPhone = @userPhone,userAdress = @userAdress where userId =@UserId
END
ELSE
BEGIN
    INSERT User(
    userId,UserName,userPicture
    userEmail,userPhone,userAdress,)
         VALUES (
             @UserId,@UserName,(SELECT  BulkColumn
        FROM Openrowset(Bulk '''+ @imagepath +''',@UserEmail,@UserPhone,@UserAdress)
END
END

但是当我尝试执行sql过程时出现了此错误

必须声明标量变量“ @UserName”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)