设为首页 收藏本站
查看: 1396|回复: 0

[经验分享] SQL state [HY000]; error code [3]; 问题分析

[复制链接]

尚未签到

发表于 2018-10-23 09:45:43 | 显示全部楼层 |阅读模式
  工作流表单采用了freemarker技术将表单与后台数据库绑定,每次修改表单定义将会对该表单对应的数据库执行alter操作。今天测试系统在执行保存表单定义操作时,报如下错误:
  HTTP Status 500 - StatementCallback; uncategorized SQLException for SQL [ALTER TABLE T_DYMC_20140522141004 CHANGE f_xqdbm f_xqdbm VARCHAR(50) COMMENT '需求单编码';]; SQL state [HY000]; error code [3]; Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28); nested exception is java.sql.SQLException: Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28)
  type Exception report
  message StatementCallback; uncategorized SQLException for SQL [ALTER TABLE T_DYMC_20140522141004 CHANGE f_xqdbm f_xqdbm VARCHAR(50) COMMENT '需求单编码';]; SQL state [HY000]; error code [3]; Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28); nested exception is java.sql.SQLException: Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28)
  description The server encountered an internal error that prevented it from fulfilling this request.
  exception
  org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [ALTER TABLE T_DYMC_20140522141004 CHANGE f_xqdbm f_xqdbm VARCHAR(50) COMMENT '需求单编码';]; SQL state [HY000]; error code [3]; Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28); nested exception is java.sql.SQLException: Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28)
  org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
  org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
  org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
  org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
  org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:428)
  com.gaochao.oa.module.bpm.dymcform.server.service.impl.MysqlTableOperatorService.newUpdateColumn(MysqlTableOperatorService.java:280)
  针对以上错误涉及到以下关键词:
  1.alter table,即执行表结构修改操作;
  2.frm:Mysql安装后在data文件夹中以frm,MYD,MYI为后缀的文件,其中*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引;一个表会对应一个frm文件,如-rw-rw---- 1 mysql mysql 14506 Aug 23 2014 t_sys_setinterface.frm
  3.SQL state [HY000]; error code [3];
  4.Errcode: 28
  查阅MYSQL数据库异常编码(错误代码),可以得出error code [3]系找不到相应路径;而Errcode: 28则与存储空间不足有关
  后经DBA确认,测试数据库储存空间不足,经整理后,不再报上述错误。
  gaochao
  DBA,在吗
  SQL state [HY000]; error code [3]; Error writing file './oa_dev_test/#sql-131a6_41120.frm' (Errcode: 28)
  10:27李DBA
  在,啥意思啊
  看不懂呵
  测试库吧
  10:28gaochao
  是的
  我在网上找了一下,这个错误的意思的
  系统找不到指定路径
  Code Error Message
  0 操作成功完成。
  1 功能错误。
  2 系统找不到指定的文件。
  3 系统找不到指定的路径。
  4 系统无法打开文件。
  以frm结尾的文件是什么文件
  你分机号多少
  10:38李DBA
  83***
  数据库中有frm格式的文件
  一个表对应一个名字
  -rw-rw---- 1 mysql mysql 14506 Aug 23 2014 t_sys_setinterface.frm
  -rw-rw---- 1 mysql mysql 8688 Aug 23 2014 t_sys_setportal.frm
  -rw-rw---- 1 mysql mysql 14552 Aug 23 2014 t_sys_sysinfo.frm
  -rw-rw---- 1 mysql mysql 9070 Aug 23 2014 t_sys_tabledependence.frm
  -rw-rw---- 1 mysql mysql 13497 Aug 23 2014 t_sys_taskcenter.frm
  -rw-rw---- 1 mysql mysql 8594 Jan 6 11:01 t_sys_test.frm
  -rw-rw---- 1 mysql mysql 22051 Aug 23 2014 t_sys_unit.frm
  -rw-rw---- 1 mysql mysql 13006 Feb 3 13:51 t_sys_usercodepool.frm
  -rw-rw---- 1 mysql mysql 8660 Aug 23 2014 t_sys_userdatarule.frm
  -rw-rw---- 1 mysql mysql 14600 Aug 23 2014 t_sys_userext.frm
  -rw-rw---- 1 mysql mysql 23523 Nov 11 11:36 t_sys_user.frm
  -rw-rw---- 1 mysql mysql 13265 Aug 23 2014 t_sys_usergroup.frm
  -rw-rw---- 1 mysql mysql 8900 Aug 25 2014 t_sys_userrole.frm
  -rw-rw---- 1 mysql mysql 1539 Jan 22 14:19 t_sys_user.TRG
  -rw-rw---- 1 mysql mysql 8644 Aug 23 2014 t_sys_weather.frm
  类似这样的
  刚查了下,的确没有sql-131a6_41120.frm这样的文件
  10:42gaochao
  那是不是临时文件
  10:45gaochao
  DBA
  10:48gaochao
  T_DYMC_20140522141004
  10:50李DBA
  -rw-rw---- 1 mysql mysql 16059 Jan 20 14:22 t_dymc_20140522141004.frm
  这个表的定义有的
  不知道那个sql-131a6_41120.frm是不是文件
  临时文件
  10:53gaochao
  这边报的错,也是说找不到这个文件的路径,即errorcode:3
  10:53李DBA
  恩,我再看看
  10:54gaochao
  我刚测试了一下,修改同一个表的表结构对应的这个文件名称是相同的,不同表是不同的
  10:54李DBA
  恩
  10:58李DBA
  你再试下看看
  11:02李DBA
  可以了吗
  11:07gaochao
  你改了什么
  不会是重启了吧
  11:07李DBA
  没有,磁盘空间没了
  释放了些空间
  11:07gaochao
  嗯,ok
  3ks


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625282-1-1.html 上篇帖子: plsql动态的sql 下篇帖子: win8 安装SQL2005 出现Sql Server 服务无法启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表