On Thu, Mar 10, 2011 at 9:29 AM, Xizor <[email protected]> wrote: > Hi! > > I'm using an existing database (the existing database is created with > Jackrabbit 1.6.1). > > And with MySQL I meant that I tried the update using MySQL as the datasource > for Jackrabbit and then everything went fine. > > I also tried a clean Liferay (6.0) install with Jackrabbit & Oracle 11g > setup and this is the error I get: > > Caused by: org.apache.jackrabbit.core.state.ItemStateException: failed to > write bundle: deadbeef-face-babe-cafe-babecafebabe > at > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1192) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:668) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:610) > at > org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:487) > at > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:561) > ... 246 more > Caused by: java.lang.IllegalStateException: Unable to insert index for > string: versionStorage > at > org.apache.jackrabbit.core.persistence.bundle.NGKDbNameIndex.insertString(NGKDbNameIndex.java:63) > at > org.apache.jackrabbit.core.persistence.bundle.DbNameIndex.stringToIndex(DbNameIndex.java:98) > at > org.apache.jackrabbit.core.persistence.util.BundleBinding.writeBundle(BundleBinding.java:266) > at > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1183) > ... 250 more > Caused by: java.sql.SQLException: ORA-01400: kohteeseen > ("TEST"."J_V_PM_NAMES"."ID") cannot insert NULL into (string) > > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) > at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) > at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743) > at > oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216) > at > oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955) > at > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) > at > oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316) > at > oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3422) > at > org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371) > at > org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298) > at > org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261) > at > org.apache.jackrabbit.core.persistence.bundle.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239) > at > org.apache.jackrabbit.core.persistence.bundle.NGKDbNameIndex.insertString(NGKDbNameIndex.java:61) > > > I've debugged Jackrabbit code a bit and the "ORA-00955: name is already used > by an existing object"- error seems to be caused by > org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager- > class and it's checkTablesExist()- method. Could this happen because the > Oracle credentials I'm using don't have enough priviliges so that the > checkTablesExist()- method could function correctly?
yes, the oracle user needs the privileges to access the meta data, cheers stefan > > BTW here is a link to my repository.xml file: > > http://dl.dropbox.com/u/13289522/repository.xml > > > > > -- > View this message in context: > http://jackrabbit.510166.n4.nabble.com/Jackrabbit-error-when-updating-from-1-6-1-2-1-2-tp3343157p3345376.html > Sent from the Jackrabbit - Users mailing list archive at Nabble.com. >
