5

We keep getting the below error repeatedly in the production environment of our application.

Error: No data found. [ETA_ITEMS, U]
Cannot insert the value NULL into column 'ITEM_ID', table     'Tridion_cm_2011.dbo.ITEM_ASSOCIATIONS'; column does not allow nulls. INSERT fails.
The statement has been terminated.

Component: Tridion.ContentManager.Publishing
Errorcode: 0
User: NT AUTHORITY\SYSTEM

StackTrace Information Details:
System.Data.SqlClient.SqlConnection.OnError(SqlException,Boolean)
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException,Boolean)
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
System.Data.SqlClient.TdsParser.Run(RunBehavior,SqlCommand,SqlDataReader,BulkCopySimpleResultSet,TdsParserStateObject)
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader,RunBehavior,String)
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior,RunBehavior,Boolean,Boolean)
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior,RunBehavior,Boolean,String,DbAsyncResult)
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult,String,Boolean)
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
Tridion.ContentManager.Data.AdoNet.DatabaseUtilities.ExecuteNonQuery(StoredProcedureInvocation)
Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.ExecuteNonQuery(StoredProcedureInvocation)
Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.ExecuteNonQuery(StoredProcedureInvocation)
Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Tridion.ContentManager.Data.IIdentifiableObjectDataMapper.Update(IdentifiableObjectData)
Tridion.ContentManager.IdentifiableObject.Save(SaveEventArgs)
Tridion.ContentManager.ContentManagement.VersionedItem.Save(Boolean)
Tridion.ContentManager.ContentManagement.VersionedItem.Save()
Tridion.ContentManager.BLFacade.ContentManagement.VersionedItemFacade.UpdateAndCheckIn(UserContext,String,Boolean,Boolean)
XMLState.Save
Component.Save
UtilitiesPublish.RenderComponentPresentation
ComponentPresentation.Render
UtilitiesPublish.RenderPage
Page.Render
   at Tridion.ContentManager.Publishing.Legacy.Rendering.PageRenderer.Render(ResolvedItem resolvedItem, PublishInstruction instruction, PublicationTarget target, RenderedItem renderedItem, RenderContext context)
   at Tridion.ContentManager.Publishing.Rendering.RenderEngine.Render(ResolvedItem resolvedItem, PublishInstruction instruction, PublicationTarget target, RenderContext context)
   at Tridion.ContentManager.Publishing.Rendering.RenderEngine.Render(ResolvedItem resolvedItem, PublishInstruction instruction, PublicationTarget target)
   at Tridion.ContentManager.Publishing.Handling.DefaultPublishTransactionHandler.RenderAndPackage(ResolvedItem resolvedItem, PublishInstruction instruction, PublicationTarget target, List`1 processedItems, PublishTransaction publishTransaction, TransportPackage transportPackage)
   at Tridion.ContentManager.Publishing.Handling.DefaultPublishTransactionHandler.HandlePublishRequest(PublishTransaction publishTransaction)
   at Tridion.ContentManager.Publishing.Handling.DefaultPublishTransactionHandler.ProcessPublishTransaction(PublishTransaction publishTransaction)
   at Tridion.ContentManager.Publishing.Publisher.QueueMessageHandler.HandleMessage()
Unable to get rendered content of Page (tcm:57-220653-64).
No data found. [ETA_ITEMS, U]
Cannot insert the value NULL into column 'ITEM_ID', table 'Tridion_cm_2011.dbo.ITEM_ASSOCIATIONS'; column does not allow nulls. INSERT fails.
The statement has been terminated.

Error Code:
0x8004033F (-2147220673)

Call stack:
System.Data.SqlClient.SqlConnection.OnError(SqlException,Boolean)
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException,Boolean)
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
System.Data.SqlClient.TdsParser.Run(RunBehavior,SqlCommand,SqlDataReader,BulkCopySimpleResultSet,TdsParserStateObject)
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader,RunBehavior,String)
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior,RunBehavior,Boolean,Boolean)
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior,RunBehavior,Boolean,String,DbAsyncResult)
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult,String,Boolean)
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
Tridion.ContentManager.Data.AdoNet.DatabaseUtilities.ExecuteNonQuery(StoredProcedureInvocation)
Tridion.ContentManager.Data.AdoNet.Sql.SqlDatabaseUtilities.ExecuteNonQuery(StoredProcedureInvocation)
Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Tridion.ContentManager.Data.IIdentifiableObjectDataMapper.Update(IdentifiableObjectData)
Tridion.ContentManager.IdentifiableObject.Save(SaveEventArgs)
Tridion.ContentManager.ContentManagement.VersionedItem.Save(Boolean)
Tridion.ContentManager.ContentManagement.VersionedItem.Save()
Tridion.ContentManager.BLFacade.ContentManagement.VersionedItemFacade.UpdateAndCheckIn(UserContext,String,Boolean,Boolean)
XMLState.Save
Component.Save
UtilitiesPublish.RenderComponentPresentation
ComponentPresentation.Render
UtilitiesPublish.RenderPage
Page.Render

We checked the respective components and there are no mandatory fields that have been left empty. It seems like a database error. Any tip on how to investigate this issue or what is the cause of this issue would be great help.

  • Hi Keirthana. Do you have some more details please? When are you getting this message? Is it when you publish an item or when you try to save it maybe? Is it for a particular content type (Page or Component) only? Also, which version (and 'hotfix rollup' version) of Tridion are you using please (the error message seems to suggest 2011)? – Jonathan Williams Mar 4 '13 at 8:00
  • Hi Jonathan, We are using Tridion 2011 SP1. These exceptions are logged in the log files while publishing content from CMS. It happens for both page and component. We get the descriptions like: 1. Unable to get rendered content of Component 2. Unable to save Component 3. Unable to get rendered content of Page 4. Unable to retrieve rendered data from Component Presentation. – Keirthana Mar 4 '13 at 8:12
  • Do you have an event system enabled which tries to edit and save component(s) while you publish? In that case try disabling those events and see if that resolved the issue, if so, then perhaps edit the question and share the code of that event system. Else is your template code perhaps trying to edit and save components, then share that code please to give more info? – Bart Koopman Mar 4 '13 at 8:56
  • Hi Keirthana, was this information helpful and resolve your issue? If so please mark the answer as accepted. – Rob Stevenson-Leggett May 17 '13 at 9:42
8

Have you upgraded this code from a lower version? If this error is really occurring when you publish, this error (component.save) implies your templates are trying to perform a write action. This was disabled by default in SDL Tridion 2011. I think you will need to override this new security feature.

Scan to the bottom of this post http://www.tridiondeveloper.com/the-story-of-sdl-tridion-2011-custom-resolver-and-the-allowwriteoperationsintemplates-attribute

And look for

allowWriteOperationsInTemplates="true"

This might solve your problem. Although keep in mind you would be disabling a built in security feature of the system.

| improve this answer | |
  • We upgraded Tridion from 2009 to 2011 and most of our code is in VBScript which is deprecated in 2011. I will try out your suggestion and get back. Thanks a lot! – Keirthana Mar 4 '13 at 10:46
  • We set the allowWriteOperationsInTemplates to be true but still we are having the same issue. We have raised a ticket with SDL. – Keirthana Mar 13 '13 at 5:41
  • Please post your template code if you need more help here – Chris Summers Mar 13 '13 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.