起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12136|回复: 14

[结贴] 附件保存时,提示sa_docnode主键重复

[复制链接]

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
发表于 2018-1-9 08:57:32 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: INSERT INTO SA_DocNode (SA_DocNode.sID, SA_DocNode.VERSION, SA_DocNode.sParentID, SA_DocNode.SDOCNAME, SA_DocNode.SSEQUENCE, SA_DocNode.SSIZE, SA_DocNode.SKIND, SA_DocNode.SDOCPATH, SA_DocNode.SDOCDISPLAYPATH, SA_DocNode.SCREATORFID, SA_DocNode.SCREATORNAME, SA_DocNode.SCREATORDEPTNAME, SA_DocNode.SCREATETIME, SA_DocNode.SEDITORFID, SA_DocNode.SEDITORNAME, SA_DocNode.SEDITORDEPTNAME, SA_DocNode.SLASTWRITERFID, SA_DocNode.SLASTWRITERNAME, SA_DocNode.SLASTWRITERDEPTNAME, SA_DocNode.SLASTWRITETIME, SA_DocNode.SFILEID, SA_DocNode.SDESCRIPTION, SA_DocNode.SDOCLIVEVERSIONID, SA_DocNode.SDOCSERIALNUMBER, SA_DocNode.SKEYWORDS, SA_DocNode.SCLASSIFICATION, SA_DocNode.SFINISHTIME, SA_DocNode.SNAMESPACE, SA_DocNode.SFLAG, SA_DocNode.SCACHENAME, SA_DocNode.SREVISIONCACHENAME) VALUES ( ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ,  ? ), binds: [C7D411689760000167AD100423001600, 0, a0388893-c44e-452b-9fd7-2a72c170f324, kk_image.png, null, 5097.0, image/png, /defaultDocNameSpace/50006890-7139-4d65-8344-a85104e528a5/a0388893-c44e-452b-9fd7-2a72c170f324, /文档中心/勘测设计合同/附件, /JSPDI.ogn/xxb.dpt/xxb_jsjs.dpt/0j6oW9MQ9MuIrdILaX1.dpt/kjxxbjsjsrjyfgcs.pos/101023@kjxxbjsjsrjyfgcs.psm, 吴昊, 软件开发, 2018-01-09 08:54:03.039, , , , /JSPDI.ogn/xxb.dpt/xxb_jsjs.dpt/0j6oW9MQ9MuIrdILaX1.dpt/kjxxbjsjsrjyfgcs.pos/101023@kjxxbjsjsrjyfgcs.psm, 吴昊, null, 2018-01-09 08:54:03.039, 503-defaultDocNameSpace, null, 1, null, null, null, null, null, 1, , ]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlUpdate(Unknown Source)
        ... 41 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'C7D411689760000167AD100423001600' for key 'PRIMARY'
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
        at com.mysql.jdbc.Util.getInstance(Util.java:383)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        ... 42 more

但是去数据库查询的时候,又查询不到

及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2018-1-9 10:17:57 | 显示全部楼层
附件上传具体怎么操作的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
 楼主| 发表于 2018-1-9 13:24:59 | 显示全部楼层
jishuang 发表于 2018-1-9 10:17
附件上传具体怎么操作的?

先上传啊,后点击保存。用的是 修改后的附件组件。用列表展示的那个。第一次点击保存报错。再次点击保存就成功了。报错就是报那个错误
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2018-1-9 14:50:51 | 显示全部楼层
每次都能稳定重现吗?
把sql语句出来看看执行的insert 语句中的是否有重复的
http://bbs.wex5.com/forum.php?mo ... 33524&pid=165004035
本地测试没问题

doc.png

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
 楼主| 发表于 2018-1-9 15:06:21 | 显示全部楼层
jishuang 发表于 2018-1-9 14:50
每次都能稳定重现吗?
把sql语句出来看看执行的insert 语句中的是否有重复的
http://bbs.wex5.com/forum.ph ...

不能稳定重现,就是偶发的
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2018-1-9 15:38:32 | 显示全部楼层
可以观察看看是否有规律
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
 楼主| 发表于 2018-3-28 10:16:51 | 显示全部楼层
jishuang 发表于 2018-1-9 15:38
可以观察看看是否有规律

最近这个问题又爆出来。其实报错没什么大影响,因为再点一次保存是可以的。文件已经上传到文档服务器了,但是最致命的是sa_docnode中没有,所以用附件组件去展示、打开都没有问题。因为你们是直接请求的文档服务器,或者说不查询数据库。

但是,现在我做了一个功能就不行。我通过附件字段获取docID,调用aciton,然后用api下载到服务器:Doc source = DocHelper.queryDocInfo(docID),这个返回值为空,导致我都后续操作都失败了:source.download。

及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
 楼主| 发表于 2018-3-28 10:50:12 | 显示全部楼层
jishuang 发表于 2018-1-9 15:38
可以观察看看是否有规律

最终的下载是通过fileID。
有没有api 可以直接通过fileID下载,而不是用docID,因为数据库中没有,所以平台先查询出doc,再下载的过程会报错。

我在ui中也能通过附件字段获取到fileID
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2018-3-28 13:40:51 | 显示全部楼层
java操作没有直接用fileID的

确认是不是页面中放了多个附件组件关联的同一个data中的关系导致的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4306

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4306
 楼主| 发表于 2018-3-28 14:54:09 | 显示全部楼层
jishuang 发表于 2018-3-28 13:40
java操作没有直接用fileID的

确认是不是页面中放了多个附件组件关联的同一个data中的关系导致的 ...

厉害了,真的有,有个被隐藏了。

但是为什么有时候会报错,有时候又不会呢
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-17 18:58 , Processed in 0.086974 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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