首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布到Oracle broker数据库时出现内容部署程序错误

发布到Oracle broker数据库时出现内容部署程序错误
EN

Stack Overflow用户
提问于 2012-02-25 05:16:32
回答 2查看 947关注 0票数 4

在尝试将内容部署到oracle broker数据库(我正在运行Tridion 2011 sp1)时,我遇到了一个错误。我在SDL Tridion论坛上搜索了一下,找不到有同样问题的人。

cme中的错误消息为:

代码语言:javascript
复制
Committing Deployment Failed
 Phase: Deployment Prepare Commit Phase failed, Unable to prepare transaction: tcm:0-55-66560,
 org.hibernate.exception.SQLGrammarException: could not execute query, 
 org.hibernate.exception.SQLGrammarException: could not execute query, Unable to prepare transaction:
  tcm:0-55-66560, org.hibernate.exception.SQLGrammarException: could not execute query, 
  org.hibernate.exception.SQLGrammarException: could not execute query

在部署程序日志中,我得到了以下内容:

代码语言:javascript
复制
2012-02-24 15:07:27,866 WARN  DeployPipelineExecutor - Phase: Deployment Prepare Commit Phase failure message: Unable to prepare transaction: tcm:0-55-66560, org.hibernate.exception.SQLGrammarException: could not execute query, org.hibernate.exception.SQLGrammarException: could not execute query for transaction: tcm:0-55-66560
2012-02-24 15:07:27,866 DEBUG DeployPipelineExecutor - Failure in Phase: Deployment Prepare Commit Phase attempt: 11 for transaction: tcm:0-55-66560
2012-02-24 15:07:27,866 ERROR DeployPipelineExecutor - Final attempt in Phase: Deployment Prepare Commit Phase failed for transaction: tcm:0-55-66560
2012-02-24 15:07:27,875 ERROR DeployPipelineExecutor - Original stacktrace for transaction: tcm:0-55-66560
com.tridion.deployer.ProcessingException: Unable to prepare transaction: tcm:0-55-66560, org.hibernate.exception.SQLGrammarException: could not execute query, org.hibernate.exception.SQLGrammarException: could not execute query
        at com.tridion.deployer.phases.PreCommitPhase.handleFailure(PreCommitPhase.java:120) ~[cd_deployer.jar:na]
        at com.tridion.deployer.phases.PreCommitPhase.execute(PreCommitPhase.java:101) ~[cd_deployer.jar:na]
        at com.tridion.deployer.phases.DeployPipelineExecutor.runMainExecutePhase(DeployPipelineExecutor.java:186) [cd_deployer.jar:na]
        at com.tridion.deployer.phases.DeployPipelineExecutor.doExecute(DeployPipelineExecutor.java:97) [cd_deployer.jar:na]
        at com.tridion.deployer.phases.DeployPipelineExecutor.execute(DeployPipelineExecutor.java:61) [cd_deployer.jar:na]
        at com.tridion.deployer.TransactionManager.handleDeployPackage(TransactionManager.java:80) [cd_deployer.jar:na]
        at com.tridion.deployer.queue.QueueLocationHandler$1.run(QueueLocationHandler.java:176) [cd_deployer.jar:na]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) [na:1.5.0_11]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) [na:1.5.0_11]
        at java.util.concurrent.FutureTask.run(FutureTask.java:123) [na:1.5.0_11]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) [na:1.5.0_11]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) [na:1.5.0_11]
        at java.lang.Thread.run(Thread.java:595) [na:1.5.0_11]
2012-02-24 15:07:27,875 INFO  TransactionPersistence - Removing deployment transaction information: tcm:0-55-66560
2012-02-24 15:07:27,876 ERROR DeployPipelineExecutor - Unable to start processing deployment package with transactionId: tcm:0-55-66560
2012-02-24 15:07:27,880 DEBUG DeployPipelineExecutor - Checking if transaction is completed: tcm:0-55-66560 is true
2012-02-24 15:07:27,880 INFO  DeployPipelineExecutor - Transaction is completed: tcm:0-55-66560
2012-02-24 15:07:27,882 INFO  DeployPipelineExecutor - Finished executing deployment pipeline for: tcm:0-55-66560 in 2274 ms.

编辑:

下面是cd_storage_conf.xml文件中的节点:

代码语言:javascript
复制
<Storages>
    <Storage Type="persistence" Id="ddeploy" dialect="ORACLESQL" Class="com.tridion.storage.persistence.JPADAOFactory">
            <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
            <DataSource Class="oracle.jdbc.pool.OracleDataSource">
                <Property Name="driverType" Value="thin"/>
                <Property Name="networkProtocol" Value="tcp"/>
                <Property Name="serverName" Value="secret"/>
                <Property Name="portNumber" Value="1526"/>
                <Property Name="databaseName" Value="secret"/>
                <Property Name="user" Value="secret"/>
                <Property Name="password" Value="secret"/>
            </DataSource>
    </Storage> 

    <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
        <Root Path="/htdocs/en_US/" />
    </Storage>

    <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
        <Root Path="/htdocs/en_US/data" />
    </Storage>
</Storages>

和项目类型

代码语言:javascript
复制
<ItemTypes defaultStorageId="ddeploy" cached="false">
    <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
    <Item typeMapping="Binary" cached="false" storageId="defaultFile"/>
</ItemTypes>

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-01 05:27:32

Doh!-我可以确认这里的问题是oracle数据库用户不能访问正确的模式。

尽管如此,如果有人在这里搜索相同的问题,他们将知道要查找的正确位置:)

票数 4
EN

Stack Overflow用户

发布于 2012-02-25 18:57:38

该错误消息指出,hibernate生成的SQL查询在您的数据库上不能正确执行。你能仔细检查一下你的存储配置吗(也许可以在这里发布元素。特别是,您是否可以检查方言属性是否正确。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9438173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档