You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将图片插入数据库后Image列数据显示异常求助

图片存入SQL Server后显示异常的解决方法

排查方向与修复步骤

  • 检查列数据类型
    确保dbo.Book表的Image列类型为VARBINARY(MAX)(SQL Server推荐的二进制大对象存储类型),若为已废弃的IMAGE类型,执行以下语句修改:

    ALTER TABLE dbo.Book ALTER COLUMN Image VARBINARY(MAX);
    
  • 确认文件路径与权限

    • 核实图片路径E:\dot net practice\practice 4\images\Pride and prejudice.jpg准确无误,文件名和空格无拼写错误;
    • 给SQL Server服务账户分配该图片文件的读取权限(右键文件→属性→安全→添加服务账户并授予读取权限);
    • 执行语句时给路径添加N前缀,确保Unicode路径解析正确:
      UPDATE dbo.Book
      SET Image = (
          SELECT BulkColumn 
          FROM Openrowset( Bulk N'E:\dot net practice\practice 4\images\Pride and prejudice.jpg', Single_Blob) AS img
      )
      WHERE id = 3
      
  • 验证数据完整性
    若执行语句后仍显示异常,可导出数据库中的二进制数据验证是否正常:

    -- 提取二进制数据
    DECLARE @img VARBINARY(MAX)
    SELECT @img = Image FROM dbo.Book WHERE id = 3
    SELECT @img AS ImageData
    
    -- 或用BCP命令导出为本地图片(替换服务器名和数据库名)
    -- bcp "SELECT Image FROM dbo.Book WHERE id=3" queryout "C:\test_verify.jpg" -S 你的服务器名 -d 你的数据库名 -T -n
    

    若导出的图片能正常打开,说明数据库存储无问题,异常是数据预览工具(如SSMS)的显示问题。

  • 检查本地文件状态
    确认本地的Pride and prejudice.jpg文件未损坏,能正常打开。

内容的提问来源于stack exchange,提问作者Daniyal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 20:51:04