小编art*_*rti的帖子

使用存储过程将文件插入到SQL Server而不使用前端

我试图通过SQL插入文件.我使用以下查询.

INSERT INTO [dbo].[Attachments] (FileName, FileBinary)
    SELECT 
        'non-date-in-sql-server-column', 
        BulkColumn 
    FROM 
        OPENROWSET(Bulk 'C:\Users\Pictures\Picture.JPG', SINGLE_BLOB) AS BLOB
Run Code Online (Sandbox Code Playgroud)

它工作正常.

我想编写采用动态路径的过程.它给了我错误,我不能把文件箱加入.哪个是数据类型varbinary.什么是最好的方法?

我已经完成了以下但是没有采用正确的二进制值.

DECLARE @SQLString NVARCHAR(MAX)

SET @SQLString = 'SELECT ' + '''' +@Filename +'''' + ' AS Name,' +  'FileBinary

FROM OPENROWSET(BULK N''' + @ImagePath + ''',SINGLE_BLOB) AS FileBinary(FileBinary);'

Insert Into Attachments (ApplicantID, FileName, FileBinary)
Values (@ApplicantID, @FileName, Convert(varbinary(max), @SQLString))
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures

5
推荐指数
1
解决办法
95
查看次数

标签 统计

sql-server ×1

stored-procedures ×1

t-sql ×1