有幾種方法可以做到這一點。
給定一個表
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
的主要後期部署腳本中引用它(道歉,如果你已經知道了!)。另外請記住,你不需要引用二進制「字符串」。