编辑 - 应该添加这是针对Tridion 2011 SP1
尝试使用TOM.NET API保存新的受众管理器配置文件时,收到以下错误:
Com.Tridion.Broker.StorageException: Transaction rolled back, error executing work, error executing work
at Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst)
at Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst)
at Codemesh.JuggerNET.JavaMethod.CallVoid(JavaProxy jpo, Object val)
at Tridion.OutboundEmail.ContentDelivery.Profile.Contact.Save(String pageUri)
通常使用存储异常我一直认为我的演示服务器上的cd_licenses.xml文件有问题,或者配置似乎没有指向它....但我检查了两者并且一切都出现了没问题。
在保存受众管理员个人资料之前,是否有人遇到此消息?
答案 0 :(得分:3)
我见过这个问题的可能原因:
答案 1 :(得分:2)
检查cd_stroage_conf.xml以确保包含正确的存储绑定。
<StorageBindings>
<Bundle src="AudienceManagerDAOBundle.xml"/>
</StorageBindings>
<Storage Id="profiledb" Class="com.tridion.storage.persistence.JPADAOFactory" Type="persistence"
dialect="MSSQL">
<Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="5" Type="jdbc"/>
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="localhost"/>
<Property Name="portNumber" Value="1433"/>
<Property Name="databaseName" Value="tridion_submgmt_DB"/>
<Property Name="user" Value="username"/>
<Property Name="password" Value="password"/>
</DataSource>
</Storage>
此外,您需要将项目类型映射到同一个数据库。
<Item typeMapping="AudienceManagerProfile" storageId="profiledb"/>
或者,如果您正在使用跟踪,则还应具有跟踪数据库和跟踪类型映射。