提交階段總是失敗,此錯誤:動態發佈到具有實例名稱(JDBC)的Tridion Broker數據庫時的連接問題?
Committing Deployment Failed
Phase: Deployment Prepare Commit Phase failed, Unable to prepare transaction: tcm:0515104-66560,
org.hibernate.exception.JDBCConnectionException: Cannot open connection,
org.hibernate.exception.JDBCConnectionException: Cannot open connection, Unable to prepare transaction: tcm:0-515104-66560,
org.hibernate.exception.JDBCConnectionException: Cannot open connection,
org.hibernate.exception.JDBCConnectionException: Cannot open connection
這是數據庫的默認實例(DEV/UAT),工程配置:
<Storage Type="persistence" Id="brokerdb" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
<DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Property Name="serverName" Value="ourServerName" />
<Property Name="portNumber" Value="1433" />
<Property Name="databaseName" Value="Tridion_Broker" />
<Property Name="user" Value="TridionBrokerUser" />
<Property Name="password" Value="xxxxxxxxpassxx" />
</DataSource>
</Storage>
然而,對於我們的生產使用命名實例是不可避免的。所以我們嘗試了這種配置來傳遞實例的名字,但無濟於事。我們仍然得到錯誤。
<Storage Type="persistence" Class="com.tridion.storage.persistence.JPADAOFactory"
Id="brokerdb"
Url="jdbc:sqlserver://ourServerName/Tridion_Broker;instanceName=THE_INSTANCE_NAME;domain=DOMAIN_NAME"
Username="TridionBrokerUser"
Password="xxxxxxxxpassxx"
Driver="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
<Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120"/>
</Storage>
連接字符串有什麼問題嗎?或者有沒有辦法使用第一種模式傳遞實例名稱;例如說<Property Name="instanceName" Value="THE_INSTANCE_NAME" />
?
如果以下任何答覆回答了您的問題,您是否可以接受該答案作爲答案,以便對其他社區成員有所幫助。 –