有几种方法可以做到这一点。
给定一个表
create table testImage
(id int,
myImage varbinary(max));
您可以从文件的东西,如插入一张图片:
INSERT INTO testImage (id, myImage)
SELECT 1, bulkcolumn
FROM openrowset(BULK 'D:\x\dZLx1.png', single_blob) as myImage
有几个潜在的头痛在这里,你需要保持路径的轨迹以某种方式在您的项目中的图像,我认为有几个安全相关的情况下OPENROWSET
无法正常工作。
它可能是更可靠的,以您的桌面上重新做一次,然后SELECT
值出在INSERT语句如
IF NOT EXISTS (SELECT * FROM testIMAGE where ID = 2)
BEGIN
INSERT INTO testImage VALUES
(2,0x89504E470D0A1A0.....)
END
(完整的脚本在这里:https://gist.github.com/gavincampbell/a25431dffd3555563a052c297a32415e)使用
由于你会意识到,当你尝试这个,结果字符串将是长。我认为最好将它保存在一个单独的脚本中,并从:r
的主要后期部署脚本中引用它(道歉,如果你已经知道了!)。另外请记住,你不需要引用二进制“字符串”。