3

编辑 - 应该添加这是针对 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 文件有问题,或者配置似乎没有指向它....但是我已经检查了两者,一切似乎都很好.

有人在保存受众管理器配置文件时遇到过此消息吗?

4

2 回答 2

3

我看到的这个问题的可能原因:

  1. 您缺少一些需要的 JAR 文件
  2. 您在 64 位系统上使用 32 位版本的 DLL(反之亦然)
  3. 在同一个应用程序池中拥有出站电子邮件和内容交付
于 2012-07-24T16:05:39.003 回答
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"/>

或者,如果您使用跟踪,则还应该拥有跟踪数据库和跟踪类型映射。

于 2012-07-26T13:41:35.063 回答