4

Oracle Broker データベースにコンテンツをデプロイしようとするとエラーが発生します (Tridion 2011 sp1 を実行しています)。SDL Tridion フォーラムで検索しましたが、同じ問題を抱えている人を見つけることができません。

cme のエラー メッセージは次のとおりです。

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

そして、デプロイヤーのログには次のように表示されます:

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 ファイルのノードは次のとおりです。

<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>

そしてアイテムの種類

<ItemTypes defaultStorageId="ddeploy" cached="false">
    <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
    <Item typeMapping="Binary" cached="false" storageId="defaultFile"/>
</ItemTypes>

どんな助けでも大歓迎です。

4

2 に答える 2

4

ドー!-ここでの問題は、Oracleデータベースユーザーが正しいスキーマにアクセスできなかったことであることが確認できます。

それでも、誰かがここで同じ問題を検索した場合、彼らは正しい場所を知っているでしょう:)

于 2012-02-29T21:27:32.360 に答える
2

エラー メッセージは、休止状態によって生成された SQL クエリがデータベースで正しく実行されないことを示しています。ストレージ構成を再確認できますか (おそらく <Storage/> 要素をここに投稿してください。特に、方言属性が正しいことを確認できますか?

于 2012-02-25T10:57:38.287 に答える