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.

4
  • 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)? Commented Mar 4, 2013 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
    Commented Mar 4, 2013 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? Commented Mar 4, 2013 at 8:56
  • Hi Keirthana, was this information helpful and resolve your issue? If so please mark the answer as accepted. Commented May 17, 2013 at 9:42

1 Answer 1

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.

3
  • 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
    Commented Mar 4, 2013 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
    Commented Mar 13, 2013 at 5:41
  • Please post your template code if you need more help here Commented Mar 13, 2013 at 12:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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