CREATE PROCEDURE uspInsertImage
@PCImage varbinary(max)
As
Begin
INSERT INTO dbo.PCInfo PCImage)
VALUES (@PCImage)
End
写作时
EXEC uspInsertPC 'D:\Desktop.jpg'
显示错误
从数据类型varchar到varbinary(max)的隐式转换不是 允许。使用CONVERT函数运行此查询。
答案 0 :(得分:2)
您尝试将字符串保存到二进制列中,这就是您收到此错误的原因
您应该通过使用OPENROWSET
告诉SQL Server使用其他源提供程序你应该做以下事情:
INSERT INTO BLOBTest
(BLOBName, BLOBData)
SELECT 'First test file',
BulkColumn FROM OPENROWSET(
Bulk 'C:\temp\nextup.jpg', SINGLE_BLOB) AS BLOB
有关详细信息,请查看以下内容: