Skip to main content

SDL Tridion: Items might fail to deploy with message: ' org.hibernate.exception.DataException: String or binary data would be truncated'


Regardless of the SDL Tridion version you are running on, when deploying items, you might experience the following message:

org.hibernate.exception.DataException: String or binary data would be truncated
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197) ~[sqljdbc4.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493) ~[sqljdbc4.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390) ~[sqljdbc4.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340) ~[sqljdbc4.jar:na]
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575) ~[sqljdbc4.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400) ~[sqljdbc4.jar:na]
(…)



In the occasions that I have come across this error message, it was due to the transport package containing multimedia components with Russian characters. The title of these multimedia components then contains non-legal characters for the URL which requires the URL encoding to convert the title into a readable URL. To accomplish that, it will introduce more characters and then exceeding the character 255 character limit. This limit is set at both file system and database levels.

To overcome this error message and publish the items successfully, you can choose one of the following options: 
  •  Avoid non-legal characters in the file names; 
  • Decrease the length of the file name.

Comments

Popular posts from this blog

SDL Tridion: Tips to troubleshoot and resolve the 'Throttling' status

The throttling status should be a temporary state, so although you might see some items in the Publishing Queue with that state, it should resolve itself once the deployer has available threads to pick up more packages. In case the items stay 'stuck' in this status, there are a few things you can check that I enumerate below:
·As mentioned in the documentation, ensure that the window size is equal to or larger than the total number of Transport Service threads configured on the Content Manager side. This settings can be found in the cd_transport_conf.xml, as follows:
<Workers NormalPriorityPoolSize="5" HighPriorityPoolSize="5" TransportPriorityPoolSize="5"/>
By default, this section is commented out and these are the default values. If the deployer’s window size is lower than 5 then you need to change it to ensure that it is set to 5 or higher.
·Check if the database maintenance tasks for the broker database are in place and the frequency tha…

SDL Tridion: How to enable Profiling and Personalization in 2013 using Tracking Keys

When attempting to setup Profiling and Personalization in Tridion, I have faced some challenges and once I was able to get it to work, I have made a small list of steps that were essential to finish this setup.

Here you can find the steps I have followed to be able to enable P&P in my SDL Tridion 2013 environment using Tracking Keys:

Add the cd_wai.jar to your deployer and website's lib folder;

Add the cd_wai_conf.xml to your deployer and website's config folder;

Update the cd_wai_conf.xml to include a reference to the host name, in other words, the location of your website. In my case, I have changed it to the following:

<Host Domain="localhost" Port="83" Protocol="http" Path="/"/>

In the same configuration file, ensure to enable Personalization, as follows:

<Personalization Enabled="true" Persistence="cookies">

Now in your CME, create your target groups, by selecting your publication folder where yo…

Tips for configuring the SDL Tridion Cache Channel Service

When installing and configuring cache, you may have one of these two scenarios below:
Scenario 1: The deployer, CCS and websites all reside in the same server
When the deployer, CCS and websites are running on the same server, open the cd_storage_conf.xml of one of these components and make the following changes: ·Enable caching by setting the following flag to true: <ObjectCache Enabled=“true"> ·Leave the RMI section commented out:
<!-- RMI CacheChannel Connector example <RemoteSynchronization Queuesize="128" ServiceMonitorInterval="10000" FlushCacheDuringDisconnectInterval="20000"> <Connector Class="com.tridion.cache.RMICacheChannelConnector" Host="127.0.0.1" Port="1099" /> </RemoteSynchronization>--> ·Enable the item types that you would like to cache, by explicitly adding the cached element and setting it to true:
<Item typeMapping="Metadata" cached="true"(..)/> <Item ty…