大型JSON字符串的SQL Azure连接已关闭

西蒙

我正在尝试将一个较大的json字符串(c.2Mb)保存到SQL Azure数据库中的NVARCHAR(MAX)列,但是得到以下异常:

[SqlException (0x80131904): A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - The specified network name is no longer available.)]

如果将json字符串设置为“”,则INSERT语句可以正常工作。我已经使用相同的方法成功保存了其他较小的json字符串。立即抛出异常,因此感觉不像是超时。不过,我尝试将连接和命令超时更改为无济于事。

我正在使用Dapper与SQL通讯:

 public async Task<PublisherDto> SaveNewAsync(PublisherDto publisher, int userID)
    {
        using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
        {
            var b = await cnn.QueryAsync<PublisherDto>("s_PublisherInsert", new
            {
                publisher.cv_id,
                publisher.Name,
                publisher.ThumbImageUrl,
                publisher.FullImageUrl,
                userID,
                publisher.cv_Url,
                publisher.JsonData,
                publisher.cv_version_hash
            }, commandType: CommandType.StoredProcedure, commandTimeout: 60);
            return b.FirstOrDefault();
        }
    }

有没有人遇到过同样的问题,并且有任何解决办法的想法?

loneshark99

尝试将超时设置为更高的值。根据文档,错误与超时有关。

https://support.microsoft.com/zh-CN/kb/555938

希望能帮助到你。

-RN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章