我要更新图像列并通过此命令插入图像。
INSERT INTO table_tbl (image)
SELECT *
FROM OPENROWSET(BULK N'C:Desktop\ımage\image.jpg', SINGLE_BLOB) image
我该怎么办?
答案 0 :(得分:0)
这样写路径是不行的。添加反斜杠并更改“ımage”文件夹的名称(如果是错字)。试试:“ C:\ Desktop \ image \ image.jpg”
答案 1 :(得分:0)
您在路径说明中输入了错字-C:Desktop
缺少反斜杠,或者SQL Server服务用户没有足够的权限来访问文件。
您可以使用services.msc
管理单元查找服务帐户,并检查其是否具有足够的权限发布命令,例如icacls.exe <YOUR_FILE_OR_FOLDER>
。如果没有(R)
,(IR)
,(IF)
或(F)
,则无法读取文件。
尝试授予Read
服务用户访问权限。
答案 2 :(得分:0)
确保正在使用的sql server数据库上启用FILESTREAM,并且可以运行此脚本。
INSERT INTO table_tbl Values (
NEWID(),"New Image",
(SELECT * FROM OPENROWSET(BULK N'C:Desktop\ımage\image.jpg', SINGLE_BLOB)
As Fs))