我正在尝试将二进制文件上传到 SQL Server的 varbinary 字段中。我想出了这个查询来做到这一点:
INSERT INTO Files(File, Name)
SELECT
"file.bin" AS Name
* FROM OPENROWSET(BULK 'C:\file.bin', SINGLE_BLOB) AS File
GO
但我收到此错误:
不允许从数据类型 varchar 到 varbinary(max) 的隐式转换。使用 CONVERT 函数运行此查询。
如果我理解正确,它会将文件作为文本(varchar)读取,而它是二进制文件,应该作为二进制文件存储在 varbinary 上。恐怕它会在这个过程中破坏它,是吗?即使没有,我该如何使用 CONVERT 方法?