将图像插入 SQL 服务器数据库,文件路径错误

Inserting image to SQL Server database , wrong filepath

我正在尝试使用以下查询将 .JPG 插入到 SQL 服务器数据库中:

INSERT INTO Model (Id) 
    SELECT 1
    FROM Openrowset( Bulk 'C:\Desktop\boat.jpg', Single_Blob) as ProductPicture

我收到此错误:

Operating system error code 3(The system cannot find the path specified.).

我检查了文件路径,似乎是正确的。

2 个可能的问题:

  • 许可。您什么都不做 - SQL 服务器在做,因此 SQL 服务器用户需要访问该文件的权限。

  • 地区。仅仅因为您在 C:\Desktop 找到了文件并不意味着您的 SQL 服务器找到了。 SQL 在服务器上执行,而不是在您的客户端上执行。

鉴于该路径包含 DESKTOP,所以很可能两者都包含。

OPENROWSET 带有盘符是指 SQL 服务器计算机上的驱动器,而不是您的 PC。

有关如何使用网络共享(例如访问您的 PC)的详细信息,请参阅此 MSDN

https://msdn.microsoft.com/en-au/library/ms175915.aspx#Anchor_3

一般来说 OPENROWSET

https://msdn.microsoft.com/en-us/library/ms190312.aspx