我正在尝试部署现有类别,但我收到以下错误。我理解这个问题,但我无法理解可能导致此错误的原因。有什么指针吗?
11:36:40,646 ERROR [ProductCatalog_production] SQL Statement Failed: [++SQLInsert++]
INSERT INTO dcs_cat_chldcat(child_cat_id,category_id)
VALUES(?,?)
-- Parameters --
p[1] = {pd} 1215046631963 (java.lang.String)
p[2] = {pd: fixedParentCategories} 1215045135527 (atg.adapter.gsa.SingleValueGSAId)
[--SQLInsert--]
11:36:40,663 ERROR [DeploymentManager] item = repositoryMarker:mark17800005 cause = CONTAINER:atg.deployment.DistributedDeploymentException; SOURCE:CONTAINER:atg.repository.RepositoryException; SOURCE:java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ATGCATALOGA"."DCS_CAT_CHLDCAT"."SEQUENCE_NUM")
at atg.deployment.repository.RepositoryWorkerThread.processMarkerForReferenceUpdatePhase(RepositoryWorkerThread.java:374)
at atg.deployment.DeploymentWorkerThread.processMarkerPhase(DeploymentWorkerThread.java:568)
at atg.deployment.DeploymentWorkerThread.run(DeploymentWorkerThread.java:335)
message = Deployment Failed time = Thu Sep 25 11:36:40 IST 2014 atg.deployment.DeploymentFailure@21f7e76a
CAUGHT AT:
CONTAINER:atg.deployment.DistributedDeploymentException; SOURCE:CONTAINER:atg.repository.RepositoryException; SOURCE:java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ATGCATALOGA"."DCS_CAT_CHLDCAT"."SEQUENCE_NUM")
at atg.deployment.repository.RepositoryWorkerThread.processMarkerForReferenceUpdatePhase(RepositoryWorkerThread.java:374)
at atg.deployment.DeploymentWorkerThread.processMarkerPhase(DeploymentWorkerThread.java:568)
at atg.deployment.DeploymentWorkerThread.run(DeploymentWorkerThread.java:335)
Caused by: CONTAINER:atg.repository.RepositoryException; SOURCE:java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ATGCATALOGA"."DCS_CAT_CHLDCAT"."SEQUENCE_NUM")
at atg.adapter.gsa.GSAItemDescriptor.updateItem(GSAItemDescriptor.java:7644)
at atg.adapter.gsa.GSARepository.updateItem(GSARepository.java:1075)
at atg.deployment.repository.RepositoryWorkerThread.deployItem(RepositoryWorkerThread.java:1135)
at atg.deployment.repository.RepositoryWorkerThread.processMarkerForReferenceUpdatePhase(RepositoryWorkerThread.java:362)
... 2 more
Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("ATGCATALOGA"."DCS_CAT_CHLDCAT"."SEQUENCE_NUM")
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:365)
at atg.adapter.gsa.SQLStatement.executeUpdate(SQLStatement.java:857)
at atg.adapter.gsa.SetTable.insertRows(SetTable.java:463)
at atg.adapter.gsa.SetTable.update(SetTable.java:531)
at atg.adapter.gsa.GSAItemDescriptor.updateItem(GSAItemDescriptor.java:7633)
... 5 more
答案 0 :(得分:0)
您无法重新插入相同类别,但可以更新它。 您是通过发布部署的吗?我的意思是通过BCC的项目发布?
答案 1 :(得分:0)
由于SQL Insert语句不包含序列号,因此看起来Versioned目录存储库和生产目录存储库的定义不匹配。即版本化的目录库未定义多列名称,但生产定义具有。
两个定义都应该是这样的。
<table xml:id="catChildCats" name="dcs_cat_chldcat" type="multi" id-column-name="category_id"
multi-column-name="sequence_num" shared-table-sequence="1">
<property category-resource="categoryCategorization" name="fixedChildCategories" data-type="list"
component-item-type="category"
column-name="child_cat_id" queryable="true" display-name-resource="fixedChildCategories">
<attribute name="propertySortPriority" value="-9"/>
<attribute name="references" value="true"/>
<attribute name="prohibitDuplicates" value="true"/>
</property>
</table>