马克斯maxcms4.0字段太小而不能接受所要添加的数据的数量导致报错解决办法

解决方案1:问题描述
解决存在的一个登录的问题,使用cdn加速,或者反向代理的时候maxcms存在的一个问题
满足上面的条件的,或者类似的代理手段的就会发生一个错误,错误号:-2147217833
错误描述:字段太小而不能接受所要添加的数据的数量。试着插入或粘贴较少的数据。
经过对比论坛网友的数据库和服务器信息,分析出是程序的问题:
经过cdn加速以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTD头信息中,增加了HTTP_X_FORWARDED_*信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址,这样经过多次中转的时候,每次都会增加一个ip,多个ip用逗号分割,因此原来数据库设计用来记录一个ip地址的长度就不够用了,需要扩充数据库的字段
由于经过3层以上代理的几率也非常小,所以在设计客户端访问地址时,相关用户IP字段大小设计到50-100个字节或者以上,就不会出现这个问题了
需要升级的数据库字段如下
m_manager--m_loginip varchar(15) 改为m_loginip varchar(50或者100)
m_info--m_ip varchar(20)改为 m_ip varchar(50或者100)
m_review--m_ip varchar(20) 长度也升级到50以上
m_leaveword--m_ip varchar(20)长度也升级
升级解决方法,请在后台--工具--sql高级助手逐条执行上面的语句
sql语句同时支持access数据库和mssql数据库两种类型
alter table m_manager alter column m_loginip varchar(100)
alter table m_info alter column m_ip varchar(100)
alter table m_review alter column m_ip varchar(100)
alter table m_leaveword alter column m_ip varchar(100)
解决方案2:问题描述
在使用后台采集的时候或者使用资源插件采集的时候出现这个问题是默认的字段长短太小造成的,需要修改,我们通常修改以下几个字段

alter table m_temp alter column m_actor varchar(255)
alter table m_temp alter column m_director varchar(255)
alter table m_temp alter column m_note varchar(255)
alter table m_temp alter column m_lang varchar(255)
alter table m_temp alter column m_publisharea varchar(255)
alter table m_data alter column m_actor varchar(255)
alter table m_data alter column m_director varchar(255)
alter table m_data alter column m_note varchar(255)
alter table m_data alter column m_lang varchar(255)
alter table m_data alter column m_publisharea varchar(255)
这样修改一般可以解决大部分的数据不规范造成的无法采集的问题
注意:如果修改后还是超出长度,请把上面的varchar(255)都改成text重新执行
如果是使用官方后台--采集功能编写采集规则采集的时候出现这个问题,请使用access打开后台admin/collect/tempdata.mdb,在m_tempdata这个表上点右键--设计视图 找到上面的字段名称 把文本都改成备注即可

语句执行方法,请登录后台--工具-sql高级助手,逐一执行上面的语句(acc和mssql数据库通用)

 

首页 > 马克斯CMS(maxcms)教程