DuplicateKeyException
Hello!
I am using a receiver file adapter with a content conversion with j2ee jms adapter in the module chain.
When I am trying to poll a message I always receive the follwowing error message in the runtime workbench:
"Message ID 634a89b0-2663-11dd-8813-0002550968d3(INBOUND) already exists in database: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPXY1DB.SYS_C00116742) violated"
Can anyone help me?
Thank you!
Chris
ORA-00001: unique constraint violated
This error means that an attempt has been made to insert a record with a duplicate (unique) key. This error will also be generated if an existing record is updated to generate a duplicate (unique) key. Typically this is a duplicate primary key, but it need not be the primary key
one of the following will be appropriate:
1.Remove the unique restriction.
2.Change the restriction to allow duplicate keys. An index could be changed to be a non-unique index, but remember that the primary key must always be unique.
3.Do not insert the duplicate key.
http://www.cryer.co.uk/brian/oracle/ORA00001.htm
Similar Messages
-
after PI-Upgrade to NW-PI-731-SP07, executing the PI-configuration wizard:
step 126 of 162
Assign SLD Data Supplier user to Group SAP_SLD_DATA_SUPPLIER (local SLD)
Error:
Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
Execute Java Service
Library: sap.com/tc~lm~ctc~util~core_ear
Class: com.sap.ctc.util.core.services.UserFacade
Method: void com.sap.ctc.util.core.services.UserFacade.addUserToGroup(java.lang.String, java.lang.String)
Arguments (2)
userName : SLD_DS_EXE
groupName : SAP_SLD_DATA_SUPPLIER
InvokeService- Result: ERROR
Refresh Env. Messages: false
Duration: 1.936 sec
Library Info
Default Trace
Exception Class: com.sap.security.api.DuplicateKeyException
Exception Message: Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
com.sap.security.api.DuplicateKeyException: Group found, but unique name "SAP_SLD_DATA_SUPPLIER" is not unique!
at com.sap.ctc.util.infra.rfc.BaseConfig.dispatchException(BaseConfig.java:230)
at com.sap.ctc.util.core.services.impl.ume.java.GroupJavaImpl.verify(GroupJavaImpl.java:121)
at com.sap.ctc.util.core.services.impl.ume.DualGroupImpl.verify(DualGroupImpl.java:118)
at com.sap.ctc.util.core.services.content.ume.UserService.addToGroup(UserService.java:725)
at com.sap.ctc.util.core.services.UserFacade.addUserToGroup(UserFacade.java:288)
what to do?
============
o.k.
https://service.sap.com/sap/support/notes/1016283
first run the UME consistency check => found some inconsistency => did repair UME
then run again UME consistency check => found no more inconsistency !!
the again - try to run the PI-Upgrade-Wizard => but again error on executing .....see this sap-notes:
http://service.sap.com/sap/support/notes/1617234
http://service.sap.com/sap/support/notes/1661135
http://service.sap.com/sap/support/notes/1678815
http://service.sap.com/sap/support/notes/1626747 -
Com.sap.sql.DuplicateKeyException in file receiver channel
Hi experts,
I am currently testing the following scenario:
xml file -> file sender ->file receiver -> csv file
No mapping is used. Both channels are on the same PI 7.1 system.
The transformation seems to work so far. The only problem I have is that my receiver channel does not post the message to the directory because of this error:
Delivering the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.DuplicateMessageException: Message Id f167e134-145e-4b2c-2d47-e431b8b34fd8(INBOUND) already exists in duplicate check table: com.sap.sql.DuplicateKeyException: [200]: Duplicate key.
Is it not possible to use file sender and file receiver in the same scenario? Thanks for any help.
Best regards.
Oliver.Hi André,
I am using the test option so the message can be processed multiple times. Anyway, I also tried using deletion but I still get the same error. I also tried a completely new file but still no change. When I check the comm channel I see that there is always created a new message id and when I search the rwb it posts two entries. One from the sender step and one from the receiver step. Seems to be alright to me.
Regards.
Oliver. -
Com.sap.sql.DuplicateKeyException in File Adapter
Hi,
In my Sender File Adapter, Randomly i'm getting the following error :
Putting message into send queue failed, due to: Message ID 710eaff0-91f3-11db-c706-001125a68f32(OUTBOUND) already exists in database: com.sap.sql.DuplicateKeyException: DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;SAPP08DB.XI_AF_MSG.
My poll interval is 10 sec. the funny part here is if a message takes 30 mins to get processed, and mean while next file is placed on the same location, the second one gets overwritten by the first one. as a result, i'm loosing few files. Can any one please help me out in this regard.
Need solution for both the points above.
Any help wud b appreciated.
Regards
Nilesh.Hi Sandro,
The Scenario is simple. File to File.
Source Dir : Test\Source.
File Size : 1 KB.
Usage of Module processor : yes.
Content Conversion : No
Processing mode: Delete.
File Name : orders.txt (always the same file name).
Target Dir : Test\Target.
The problem is that our XI server is facing some memory problems and sometimes it will be slowed down. if orders.txt takes 30 mins (12:00 to 12:30 ) and then second orders (after the deletion of the first orders.txt) starts processing at 12:30, the second message gets overwritten by the first one. as a result same orders.txt message is sent in both the cases there by loosing the second orders.txt file.
The quality of service is EO.
Any update on this y it is behaving in this way.
Regards
Nilesh -
Com.sap.sql.DuplicateKeyException in file sender adapter
Putting message into send queue failed, due to: com.sap.aii.af.ra.ms.api.DuplicateMessageException: Message ID 01e6c3b0-0db0-11df-8e63-005056c00001(OUTBOUND)
already exists in database: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPSR3DB.SYS_C00140762) violated.
Returning to application. Exception: com.sap.aii.af.ra.ms.api.DuplicateMessageException: Message ID 01e6c3b0-0db0-11df-8e63-005056c00001(OUTBOUND)
already exists in database: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPSR3DB.SYS_C00140762) violated
plzzz help me i have tried all the forums threads...but didnt gt any usefull answer....!!!!Hi Kiran,
>>no messages r there in sxmb_moni.....this trx code is not updating this particular channels files
So you are saying that all other messages are visible in transaction SXMB_MONI? If yes then do these:
1. try to do a dummy change in the channel and then activate it.
2. see whether there are any red entries in Integration Directory cache, if yes then take the corrective measures for making it green
3. Stop and start the channel using communication channel monitoring
4. Remove the already placed file and try placing some another file there and see whether that reaches SXMB_MONI
>>trnx prblm etc
Please avoid short forms when you ask or reply a thread. Since this is a community forum, these short form may not be understood by everyone reading these replies. Hope you will keep this when you post future threads/replies.
Regards
Suraj -
GPEngineException Caused by a com.sap.sql.DuplicateKeyException
Often, we are getting the following error when we do an instance of GP Process from WebDynpro code, however in a second attempt with the same data the GP Process is created successfully: <br>
<br>
//----- CODE -
// <br>
IGPUserContext userContext = null; <br>
IWDClientUser wdUser = null; <br>
IUser user = null; <br>
IGPProcess process = null; <br>
IGPRuntimeManager rtm = null; <br>
IGPProcessRoleInstanceList roles = null; <br>
IGPStructure params = null; <br>
<br>
try { <br>
wdUser = WDClientUser.getCurrentUser(); <br>
user = wdUser.getSAPUser(); <br>
userContext = GPContextFactory.getContextManager().createUserContext(user); <br>
process = GPProcessFactory.getDesigntimeManager().getActiveTemplate(GP_ID, userContext); <br>
rtm = GPProcessFactory.getRuntimeManager(); <br>
roles = rtm.createProcessRoleInstanceList(); <br>
<br>
params = GPStructureFactory.getStructure(process.getInputParameters()); <br>
params.setAttributeValue("ORDER_ID", wdContext.currentSalesOrderModelResponseResultElement().getOrderID()); <br>
params.setAttributeValue("CLIENT_ID", wdContext.currentCustomerDataElement().getCustomerID()); <br>
<br>
processName = "Request ofequipment " + wdContext.currentSalesOrderModelResponseResultElement().getOrderID(); <br>
IGPProcessInstance prInstance = rtm.startProcess(process, processName, processName, user, roles, params, user); <br>
} catch(Exception e) { <br>
logger.traceThrowableT(Severity.ERROR, "Request Equipment Error: ", e); <br>
} <br>
//----- CODE -
// <br>
<br>
//----- EXCEPTION -
//<br>
com.sap.caf.eu.gp.exception.api.GPEngineException: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;SAPQNEDB.CAF_GP_PFWRUSRPT, DRIVER=3.53.95
at com.sap.caf.eu.gp.exception.impl.ExceptionUtil.convertTo(ExceptionUtil.java:36)
at com.sap.caf.eu.gp.process.rt.impl.GPRuntimeManager.startProcess(GPRuntimeManager.java:150)
at com.gmodelo.meta.vac018.wd.b.equipmentrequestcomp.EquipmentRequestComp.createEquipmentRequest(EquipmentRequestComp.java:1123)
at com.gmodelo.meta.vac018.wd.b.equipmentrequestcomp.wdp.InternalEquipmentRequestComp.createEquipmentRequest(InternalEquipmentRequestComp.java:1184)
at com.gmodelo.meta.vac018.wd.b.equipmentrequestcomp.EquipmentAssignationView.onActionExecuteRequest(EquipmentAssignationView.java:346)
at com.gmodelo.meta.vac018.wd.b.equipmentrequestcomp.wdp.InternalEquipmentAssignationView.wdInvokeEventHandler(InternalEquipmentAssignationView.java:587)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:131)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:72)
at com.sap.tc.webdynpro.clientserver.phases.ProcessingEventPhase.doHandleActionEvent(ProcessingEventPhase.java:156)
at com.sap.tc.webdynpro.clientserver.phases.ProcessingEventPhase.execute(ProcessingEventPhase.java:91)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequestPartly(WindowPhaseModel.java:161)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doProcessRequest(WindowPhaseModel.java:109)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:96)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:469)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:52)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doExecute(ClientApplication.java:1431)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doProcessing(ClientApplication.java:1251)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToApplicationDoProcessing(AbstractExecutionContextDispatcher.java:158)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForAppProcessing.doService(DispatchHandlerForAppProcessing.java:35)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToApplicationDoProcessing(ExecutionContextDispatcher.java:114)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:81)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:507)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:527)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessingPortal(ApplicationSession.java:472)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:251)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:699)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:231)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:231)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToRequestManager(AbstractExecutionContextDispatcher.java:205)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForRequestManager.doService(DispatchHandlerForRequestManager.java:38)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToRequestManager(ExecutionContextDispatcher.java:140)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:93)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:105)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.dispatch(ApplicationHandle.java:320)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.LocalApplicationProxy.sendDataAndProcessActionInternal(LocalApplicationProxy.java:1043)
at com.sap.tc.webdynpro.portal.pb.impl.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:287)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1569)
at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:357)
at com.sap.portal.pb.PageBuilder$PhaseListenerImpl.doPhase(PageBuilder.java:2110)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:219)
at com.sap.tc.webdynpro.clientserver.phases.PortalDispatchPhase.execute(PortalDispatchPhase.java:52)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequestPartly(WindowPhaseModel.java:161)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doProcessRequest(WindowPhaseModel.java:109)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:96)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:469)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:52)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doExecute(ClientApplication.java:1431)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doProcessing(ClientApplication.java:1251)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToApplicationDoProcessing(AbstractExecutionContextDispatcher.java:158)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForAppProcessing.doService(DispatchHandlerForAppProcessing.java:35)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToApplicationDoProcessing(ExecutionContextDispatcher.java:114)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:81)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:507)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:527)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doApplicationProcessingStandalone(ApplicationSession.java:458)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:249)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:699)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:231)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:231)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToRequestManager(AbstractExecutionContextDispatcher.java:205)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForRequestManager.doService(DispatchHandlerForRequestManager.java:38)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:116)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:93)
at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToRequestManager(ExecutionContextDispatcher.java:140)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:93)
at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:105)
at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)
at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doPost(AbstractDispatcherServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: com.sap.sql.DuplicateKeyException: DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;SAPQNEDB.CAF_GP_PFWRUSRPT, DRIVER=3.53.95
at com.sap.sql.jdbc.common.CommonPreparedStatement.executeUpdate(CommonPreparedStatement.java:355)
at com.sap.sql.jdbc.common.CommonPreparedStatement.execute(CommonPreparedStatement.java:917)
at com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.execute(PreparedStatementWrapper.java:269)
at com.sap.caf.eu.gp.model.pfw.core.impl.UserProvidedDataManager.setTexts(UserProvidedDataManager.java:326)
at com.sap.caf.eu.gp.model.pfw.core.impl.UserProvidedDataManager.updateTexts(UserProvidedDataManager.java:357)
at com.sap.caf.eu.gp.model.pfw.core.impl.ProcessRuntime.startProcess(ProcessRuntime.java:1141)
at com.sap.caf.eu.gp.process.rt.impl.GPRuntimeManager.startProcess(GPRuntimeManager.java:148)<br>
//----- EXCEPTION -
//<br>
<br>
Regards<br>
FSC<br>
Edited by: Fernando Salgado on Mar 9, 2011 12:02 AMHey Anil,
maybe this thread will help:
https://forums.sdn.sap.com/click.jspa?searchID=734730&messageID=2934036
Regards
Dominic -
Com.sap.sql.DuplicateKeyException
Hi
I am trying to send a response that i get as an inline content to my mail. I used the following in the module processor
Module Name : localejbs/AF_Modules/MessageTransformBean
Type : Local Enterprise Bean
Module Key : mail
Transform.ContentDisposition inline;filename="Response.txt"
Transform.ContentDescription Response
Transform.ContentType text/plain;name="Response.txt"
But when i check my RWB i get the following error message
2005-09-26 13:47:51 Success Trying to put the message into the send queue.
2005-09-26 13:47:51 Error Putting message into send queue failed, due to: Message ID 4336cff8-97a3-5ad5-e100-0000ac16041b(INBOUND) already exists in database: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPX10DB.SYS_C00275497) violated.
2005-09-26 13:47:51 Error Delivery of the message to the application using connection AFW failed, due to: Message ID 4336cff8-97a3-5ad5-e100-0000ac16041b(INBOUND) already exists in database: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPX10DB.SYS_C00275497) violated.
Any suggestions friends as to why this is occurring.
cheers
SameerIt seems when message is persisted by adapter engine there is some duplicate value going.
There could be a possibilty of datbase table overflow where messages are persisted.
You can check and analyse that.
Hope it helps,
cheers,
Satish -
Portal Activity Problem DuplicateKeyException
Hello, we are on EP 6.0 SP9, running on solarins and Oracle 9 database
We configure the activity report tool without problems, but since some days the tool has these errors on oracle and there is no more information stored in the database:
Warning: update of user 0HVN+Dwr3BxFaG5cX/TAwQJSUvU= failed.
com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPEPPDB.SYS_C003383) violated
Can anyone help us in this problem?Can't help, but I can report that I have the same problem with an EP6SP10 system (UNIX/Oracle). I encounter this problem when I run the aggregator.sh application from an ssh session.
Aggregator Started...
Loading DB_Connection.properties
Enter database password:
Testing connection...Connection to database successful.
Sleeping until first aggregation period: 1 minutes.
Current Database Time: 24 May 2005 14:00:50 GMT
Aggregating data from 1 Jan 2004 00:00:25 GMT to 24 May 2005 14:00:50 GMT -
query = SELECT MAX(TIMESTAMPHOUR) FROM WCR_AGGINFO WHERE AGGREGATIONLEVEL = 'h'
first run at 1116874800000
change begin date 1116878400000
executing query: SELECT TIMESTAMPHOUR,NODEID,HASHEDUSERID,USERTYPE,LOGONID FROM WCR_USERNODESTAT WHERE TIMESTAMPHOUR >= 1116878400000 AND TIMESTAMPHOUR < 1116943250000 ORDER BY TIMESTAMPHOUR
Info: Retrieved DjpSAXfPUVc3QqgHdhi7mlLd4XA= from ResultSet
query = INSERT INTO WCR_USERSTAT(TIMESTAMPHOUR,AGGREGATIONLEVEL,HASHEDUSERID,USERTYPE,LOGONID) VALUES (1116878400000,'h','DjpSAXfPUVc3QqgHdhi7mlLd4XA=','n','null')
Warning: update of user DjpSAXfPUVc3QqgHdhi7mlLd4XA= failed.
rollback done
Exception during aggregation
com.sap.portal.webreport.tools.AggregatorException
at com.sap.portal.webreport.tools.util.DBWriter.update(DBWriter.java:243)
at com.sap.portal.webreport.tools.util.ContentReportProcessor.aggregateUser(ContentReportProcessor.java:301)
at com.sap.portal.webreport.tools.util.ContentReportProcessor.aggregate(ContentReportProcessor.java:120)
at com.sap.portal.webreport.tools.Aggregator.go(Aggregator.java:501)
at com.sap.portal.webreport.tools.Aggregator.main(Aggregator.java:398)
caused by:
com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPPP1DB.SYS_C003349) violated
at com.sap.sql.jdbc.common.CommonStatementImpl.executeUpdate(CommonStatementImpl.java:439)
at com.sap.sql.jdbc.common.CommonStatementImpl.executeUpdate(CommonStatementImpl.java:163)
at com.sap.portal.webreport.tools.util.DBWriter.update(DBWriter.java:233)
at com.sap.portal.webreport.tools.util.ContentReportProcessor.aggregateUser(ContentReportProcessor.java:301)
at com.sap.portal.webreport.tools.util.ContentReportProcessor.aggregate(ContentReportProcessor.java:120)
at com.sap.portal.webreport.tools.Aggregator.go(Aggregator.java:501)
at com.sap.portal.webreport.tools.Aggregator.main(Aggregator.java:398)
Aggregation took 807 millis
Sleeping until next aggregation period.
I would also like to know if there is a way to run the aggregator.sh application in background.
Regards,
- Mike -
Inconsistent DuplicateKeyException
Hi,
I'm getting those Exceptions, (deeply nested)
com.sap.dbtech.jdbc.exceptions.BatchUpdateExceptionSapDB: [250] (at 2): Duplicate secondary key:EIC_TYPES_I(input position 3)
com.sap.sql.DuplicateKeyException
instead of
javax.ejb.DuplicateKeyException
is this compliant?
anyway it's ugly ...Hi Konrad,
to my knowledge, javax.ejb.DuplicateKeyException is an EJB 2.1 exception indicating the atempt to create an entity bean, which already exists.
The com.sap.sql.DuplicateKeyException in an SQLException, which indicates a unique constraint violation on the database.
I hope this helps.
-Adrian -
EJB CMP remove create cache issue? DuplicateKeyException
EJB CMP remove create cache issue? DuplicateKeyException
Hi I have an EJB 2.1 application using CMP. Most things work fine. But if I in a transaction tries to remove a bean and create a new one with the same primary key I get a DuplicateKeyException:
2007-11-16 09:25:31,963 ERROR [RMICallHandler-6] AdminGroupData_ConcreteSubClass147 - Error adding AccessRules:
javax.ejb.DuplicateKeyException: Exception [EJB - 10007]: Exception creating bean of type [AccessRulesData]. Bean already exists.
at oracle.toplink.internal.ejb.cmp.EJBExceptionFactory.duplicateKeyException(EJBExceptionFactory.java:195)
I suspect that the remove call only removes from the cache (until commit), but that the create call checks the database or something?
My code is simple like the following:
AdminPreferencesDataLocal apdata1 = adminpreferenceshome.findByPrimaryKey(certificatefingerprint);
adminpreferenceshome.remove(certificatefingerprint);
adminpreferenceshome.create(certificatefingerprint,newadminpreference);
Is there some configuration I can set in toplink-ejb-jar.xml to fix this?
I use OC4j 10.1.3.3
Cheers,
TomasThe bean.remove() was executed but the sql DELETE was executed to the database as the result, oc4j manages all sql statements and they are optimized to commit to the database in batch at once when the transaction commit. Oc4j ejb container is smart and preventing you from creating the same entity cached in the transaction because the sql delete was not really committed to the database when the create is called.
My guess is that the reason it works with IBM WAS was because it issued sql for each remove/create call right away instead of doing them in batch as oc4j, or your WAS remove then create were called in separate transactions. -
Catching javax.ejb.DuplicateKeyException
Here is the situation.
A weblogic workshop control calls a message bean.
The message bean calls a session bean.
The session beans does some junk and creates an entity bean.
During the create there is a possibilty of a javax.ejb.DuplicateKeyException being
thrown.
I am trying to catch this exception but for some reason the weblogic server is
catching and
and trying to restart the transaction by calling the message bean again.
By doing this it is an enless cycle of errors that will not stop untill you shut
down the weblogic server.
How can I catch this error to prevent this loop from happening?Thanks for the response and the direction.
Its Bug No.6713854
Could you please shed some light on toplink flavors and support/fixes.
That is:
1. Is toplink that comes with OAS different than the open source toplink?
2. If so, how are bugs tracked. where should I go and look for the bugs for the open source version?
3. Could we use the open source version for OC4J?
Thanks :) -
Javax.ejb.DuplicateKeyException: Exception [EJB - 10007]
Hi,
I am deploying an EJB application in OAS10.1.3.1. (it comes with toplink)
The application executes bean.remove() and removes the bean and then it creates
the same bean again using bean.create() in the same transaction.
When bean.create() executes the following exception is encountered.
Is there any setting in toplink that will help me avoid this situation.
javax.ejb.DuplicateKeyException: Exception [EJB - 10007]: Exception creating bean of type [XXXX]. Bean already exists.
at oracle.toplink.internal.ejb.cmp.EJBExceptionFactory.duplicateKeyException(EJBExceptionFactory.java:195)
at oracle.toplink.internal.ejb.cmp.oc4j.Oc4jPersistenceManager.createBean(Oc4jPersistenceManager.java:163)
at com.evermind.server.ejb.interceptor.system.TopLinkCreateInterceptor.invoke(TopLinkCreateInterceptor.java:51)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.SecurityRoleInterceptor.invoke(SecurityRoleInterceptor.java:47)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.AbstractEJBHome.OC4J_invokeMethod(AbstractEJBHome.java:723)Thanks for the response and the direction.
Its Bug No.6713854
Could you please shed some light on toplink flavors and support/fixes.
That is:
1. Is toplink that comes with OAS different than the open source toplink?
2. If so, how are bugs tracked. where should I go and look for the bugs for the open source version?
3. Could we use the open source version for OC4J?
Thanks :) -
No DuplicateKeyException on create
When I call the create method on some home interface, with a key that already exists in the database, I don't get a DuplicateKeyException. Instead a rollback exception occurs when the transaction is committed. This behaviour makes it very difficult to catch the problem early and present the user with a nice message. Does anybody know what can be done about this?
Thanks for your answer. Your solution does mitigate the problem but it doesn't really solve it. I guess it's more general than what I described. I can accept that the PM often doesn't flush changes to the database until commit time, which happens when the business method returns to the container but before the container returns to the client. Any SQL- or JDO exception thrown during this flushing will be logged to the serve log, but the client is only informed that a rollback has occurred. There is no way for the client code to analyze the cause, since the actual exception isn't in the cause chain of the RemoteException thrown to the client.
Wouldn't it be nice if the SQL exception was included in the cause chain of the remote exception. A typical chain would then be:
RemoteException, caused by
RollbackException, caused by
JDODataStoreException, caused by
SQLException
Another nice feature would be if the business method had some way (probably not portable) to force the PM to flush its updates and catch any exceptions.
Any thoughts on this?
- Gunnar -
DuplicateKeyException is not thrown
I have WL7, SP1.
Trying to create a duplicate entry into the db using an entity bean.Instead of
throwing a DuplicateKeyException, it always throw EJBException.
Is it a bug?I doubt that is the case.
If the JVM does not find a class (it has nothing to do with jars) it throws the exception.
So if isn't throwing it then it is finding it somewhere.
There are possible reasons for this. For example if the class tree is in the class path (along with the jar.) -
DuplicateKeyException not thrown by WL7.0
Hello,
When I call a Create on an entity CMP from a Session bean(using the local interface),
where the ejbCreate insertion violate the unicity primary key constraint, The
WL container raise a LocalTransactionRollBackException (with a cause attribute
embedding a DuplicateKeyException).
This is a very tedious behaviour as the session can't catch the DuplicateKeyException.
Do you think this is a correct behaviour ? Do you find the same kind of behaviour
? Is there some clean known workaround (different from testing the primary key
existance before creating the bean)
It's seems to me that this is a very limit interpretation of the spec (which is
not very precise on the subject and let to much freedom on the subject, I admit)
Here is what says the ejb 2.0 spec :
====================================
10.5.8.2 DuplicateKeyException
The DuplicateKeyException is a subclass of CreateException. It may be thrown by
the
Container to indicate to the client or local client that the entity object cannot
be created because an
entity object with the same key already exists. The unique key causing the violation
may be the primary
key, or another key defined in the underlying database.
Normally, the Container should not mark the transaction for rollback before throwing
the exception.
When the client or local client receives a DuplicateKeyException, the client knows
that the
entity was not created, and that the transaction has not typically been marked
for rollback.
I hate the 2 words in the previous spec section : "may be" and "Normaly", which
allows to have too much different behaviour from one Container to another. But
if DuplicateKeyException cannot be directly catch, what would be its interestI think this is a bug. I've encountered similar problem using WL7 + Sybase
12 Server. I was getting some kind of EJB exception, which was wrapping SQL
exception. Considering that CreateException is the application exception, WL
behaviour differs from what is required in 18.3.1. WL behaves as if
CreateException was a system exception.
Actually, it is not the exception type I am bothered with. What really
upsets me is that contaner rolls back the transaction and there is no way to
continue it. This sucks. Maybe I should file a bug 6 months ago?
Michael J.
"nicolas frank" <[email protected]> wrote in message
news:[email protected]...
>
Hello,
When I call a Create on an entity CMP from a Session bean(using the localinterface),
where the ejbCreate insertion violate the unicity primary key constraint,The
WL container raise a LocalTransactionRollBackException (with a causeattribute
embedding a DuplicateKeyException).
This is a very tedious behaviour as the session can't catch theDuplicateKeyException.
>
>
Do you think this is a correct behaviour ? Do you find the same kind ofbehaviour
? Is there some clean known workaround (different from testing the primarykey
existance before creating the bean)
It's seems to me that this is a very limit interpretation of the spec(which is
not very precise on the subject and let to much freedom on the subject, Iadmit)
Here is what says the ejb 2.0 spec :
====================================
10.5.8.2 DuplicateKeyException
The DuplicateKeyException is a subclass of CreateException. It may bethrown by
the
Container to indicate to the client or local client that the entity objectcannot
be created because an
entity object with the same key already exists. The unique key causing theviolation
may be the primary
key, or another key defined in the underlying database.
Normally, the Container should not mark the transaction for rollbackbefore throwing
the exception.
When the client or local client receives a DuplicateKeyException, theclient knows
that the
entity was not created, and that the transaction has not typically beenmarked
for rollback.
I hate the 2 words in the previous spec section : "may be" and "Normaly",which
allows to have too much different behaviour from one Container to another.But
if DuplicateKeyException cannot be directly catch, what would be itsinterest
Maybe you are looking for
-
Can't get emails from yahoo account on iPhone 4S
Recently I am not receiving emails from my yahoo aaccount The Internet connection is active and I can access other apps just fine is there a problem with the yahoo IMAP server?
-
Hi, I found some connections being timed out. Not sure where to start to analyze the issue. I wanted to find why this timeout error is occurring and how to track it further. Fatal NI connect error 12170. VERSION INFORMATION: TNS for IBM/AIX aaa Syste
-
On value request for file name
Hi, when i press f4 in the 'filename' field in selection screen, it must open up a window from where i can select a file from my desktop. wat should i do for this using 'on value request'?
-
How to handle empty PDF document when using Sections
I have below XML structure <?xml version="1.0" encoding="UTF-8"?> <DATA> <LIST_INVOICES> <INVOICES> <INVOICE_NUMBER>30363</INVOICE_NUMBER> <INVOICE_DATE>2009-02-24T00:00:00.000-05:00</INVOICE_DATE> <INVOICE_COMMENTS/> <LIST_HEADERINFO> <HEADERINFO> <
-
How do I setup and use Hawaiian fonts?
How do I setup and use Hawaiian fonts in OSX 10.7.4? The instructions I obtained by Googling no longer seem to work. See Wahinoho.net Message was edited by: fbeckner