找回密码
 立即注册

QQ登录

只需一步,快速开始

毛毛
金牌服务用户   /  发表于:2024-9-11 15:15  /   查看:586  /  回复:7
1金币
数据库是sqlserver2022版本,表的其中一个字段为varchar(MAX)类型,从API获取的json数据直接存储到该字段中,为啥有时候报这种错?有的写成功了,有的报错,对比了成功和失败的json数据,没看出差别来。



附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

已经解决了,把字段类型从varchar(max)修改成nvarchar(max)就正常了,但是不知道为什么 难道是json数据中存在特殊字符?

7 个回复

倒序浏览
最佳答案
最佳答案
毛毛
金牌服务用户   /  发表于:2024-9-11 15:15:49
来自 7#
本帖最后由 毛毛 于 2024-9-11 20:37 编辑
Lay.Li 发表于 2024-9-11 17:36
好的,得看一下您的命令是怎么写的,是如何循环插入的这些数据

已经解决了,把字段类型从varchar(max)修改成nvarchar(max)就正常了,但是不知道为什么  难道是json数据中存在特殊字符?
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-11 15:30:22
2#
您好,网上查了一下,一般都是因为要插入的数据和数据库字段类型不匹配,或者要插入的数据不合法造成的,建议您可以发一下api返回的json数据和数据表结构的备份,我们模拟测试一下看看能不能复现这个问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
毛毛
金牌服务用户   /  发表于:2024-9-11 15:39:22
3#
Lay.Li 发表于 2024-9-11 15:30
您好,网上查了一下,一般都是因为要插入的数据和数据库字段类型不匹配,或者要插入的数据不合法造成的,建 ...

结构是一样的,顶多是内容不同,但是长度已经设置成MAX了,为啥还会这样,能否远程看一下
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-11 16:05:51
4#
您好,这个得看一下要插入的内容才好给出原因,最后还是能给一下json数据,这样我们本地调试可以挂代码去看,调查方便一些

连线的话,看您明天什么时候方便,可以看一下
回复 使用道具 举报
毛毛
金牌服务用户   /  发表于:2024-9-11 16:33:10
5#
Lay.Li 发表于 2024-9-11 16:05
您好,这个得看一下要插入的内容才好给出原因,最后还是能给一下json数据,这样我们本地调试可以挂代码去看 ...

有空麻烦看一下,最好明天能远程一下。谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-11 17:36:11
6#
好的,得看一下您的命令是怎么写的,是如何循环插入的这些数据
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-12 09:24:07
8#
感谢各位大佬的支持~
查了一下估计是您的json内容中有中文,使用varchar(max)可能占用长度太高了,如果要存储多语言长文本的话,推荐是用nvarchar(max)去存储哈



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部