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

如何将3GB JSON文件完整插入SQL Server单列?遇LOB大小限制报错

解决3GB JSON文件插入SQL Server单个列的问题

你遇到的错误是因为SINGLE_CLOB会将文件读取为VARCHAR(MAX)类型,而该类型的最大存储上限为2GB(2147483647字节),3GB的文件显然超出了这个限制。

将整个3GB文件存入单个列完全可行,只需更换支持更大存储的类型和读取方式:

  • 创建包含VARBINARY(MAX)类型列的表(该类型最大存储上限可达2TB,足以容纳3GB文件):

    CREATE TABLE Temp (FullJson VARBINARY(MAX))
    GO
    
  • 使用SINGLE_BLOB替代SINGLE_CLOB读取文件并插入表中:

    INSERT INTO Temp (FullJson)
    SELECT BulkColumn
    FROM OPENROWSET(BULK '##path_to_json_file##', SINGLE_BLOB) AS j
    

如果后续需要读取并解析JSON内容,可通过CAST或CONVERT将二进制数据转换为字符类型,但需注意:若JSON内容本身超过1GB(NVARCHAR(MAX)为双字节编码,最大对应1GB字符),直接转换会触发新的容量限制,这种情况下建议按需读取部分内容处理,或保持二进制存储形式。

同时要确保SQL Server数据库的文件组有足够存储空间,且未限制LOB数据的存储大小。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 02:43:24