I have:

       <dependency>
           <groupId>com.oracle</groupId>
           <artifactId>ojdbc14</artifactId>
           <version>10.2.0.3.0</version>
           <scope>compile</scope>
       </dependency>

In my uportal-impl/pom.xml

You need to download the driver from Oracle and use the mvn install:install-file command to put it in your local repository as it is proprietary code and does not exist in the central maven repo. For the full install command add the dependency and run one of the maven or ant commands and maven will fail if it can't find the JAR telling you what you need to do to install it.


It does look like a permissions error specific to your database user/schema not being able to get that meta-data about the database.

-Eric

Tuyhang Ly wrote:
I tried to remove the uniqueConstraints, but still getting the same error. Based on the stack trace, I think I don't have privileges to get the meta data on any table on my schema which is now needed because we are using hbm2ddl for these UP_PORTLET* tables. I'm waiting for DBA to confirm this details.

[java] Caused by: java.sql.SQLException: ORA-01031: insufficient privileges

[java] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
     [java]     at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
[java] at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207) [java] at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) [java] at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1614) [java] at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1579) [java] at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:3485) [java] at org.hibernate.tool.hbm2ddl.TableMetadata.initIndexes(TableMetadata.java:130) [java] at org.hibernate.tool.hbm2ddl.TableMetadata.<init>(TableMetadata.java:35) [java] at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:90)

One more question, what is the maven2 repository URL for ojdbc-14.jar that you are using? I got this warning with my local version:

[java] WARN [main] dialect.Oracle9Dialect Jan/17 11:11:17.758 - The Oracle9Dialect dialect has been deprecated; use either Oracle9iDialect or Oracle10gDialect instead

Thanks,
Tuy.

Eric Dalquist wrote:
I mis-spoke. You need to remove the uniqueConstraint (Oracle doesn't support unique constraints on CLOB types)

So change the lines:
@Table(
        name = "UP_PORTLET_PREF",
uniqueConstraints = @UniqueConstraint(columnNames = { "NAME", "PORTLET_PREF_ID" })
)

To:
@Table(name = "UP_PORTLET_PREF")


-Eric

Eric Dalquist wrote:
Tuy,

I just got a chance to test the Hibernate DDL generation against Oracle and there are a few problems. I'll be patching trunk today to fix the problem and send a note to this list when its done.

If you're interested in trying it in your local code open up PortletPreferenceImpl and delete the index setting in the @Table annotation.

-Eric

Tuyhang Ly wrote:
Thanks Eric! I'll try that. Here is the full stack trace of this error:

ERROR [main] hbm2ddl.SchemaUpdate Jan/16 10:53:41.368 - could not complete schema update [java] org.hibernate.exception.SQLGrammarException: could not get table metadata: UP_PORTLET_PREF_VALUES [java] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) [java] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) [java] at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) [java] at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:105) [java] at org.hibernate.cfg.Configuration.generateSchemaUpdateScript(Configuration.java:948) [java] at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:140) [java] at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:314) [java] at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294) [java] at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) [java] at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730) [java] at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:127) [java] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:221) [java] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:251) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1390) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1359) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [java] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) [java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [java] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) [java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:219) [java] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1274) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1042) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [java] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) [java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) [java] at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:87) [java] at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:98) [java] at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:105) [java] at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:244) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:828) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:799) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:475) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [java] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) [java] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) [java] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) [java] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:883) [java] at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:593) [java] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:351) [java] at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122) [java] at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66) [java] at org.jasig.portal.spring.PortalApplicationContextLocator.getApplicationContext(PortalApplicationContextLocator.java:100) [java] at org.jasig.portal.RDBMServices.getDataSource(RDBMServices.java:125) [java] at org.jasig.portal.RDBMServices.getConnection(RDBMServices.java:170) [java] at org.jasig.portal.RDBMServices.getConnection(RDBMServices.java:153) [java] at org.jasig.portal.tools.dbloader.DbLoader.process(DbLoader.java:149) [java] at org.jasig.portal.tools.dbloader.DbLoader.main(DbLoader.java:117) [java] Caused by: java.sql.SQLException: ORA-01031: insufficient privileges

[java] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) [java] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) [java] at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743) [java] at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207) [java] at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168) [java] at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1614) [java] at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1579) [java] at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:3485) [java] at org.hibernate.tool.hbm2ddl.TableMetadata.initIndexes(TableMetadata.java:130) [java] at org.hibernate.tool.hbm2ddl.TableMetadata.<init>(TableMetadata.java:35) [java] at org.hibernate.tool.hbm2ddl.DatabaseMetadata.getTableMetadata(DatabaseMetadata.java:90)
     [java]     ... 75 more


Eric Dalquist wrote:
A quick google search wasn't much help. The closest thing I found was this: http://opensource.atlassian.com/projects/hibernate/browse/HBX-609 but I'm not sure I understand what the person is describing.

Would you be able to have a DBA monitor what the portal is trying to do during initportal to see if they can capture the SQL that is causing the exception? The Hibernate based DAOs may require more privileges on the schema than previous versions of uPortal did but that is just speculation right now.

-Eric



Tuyhang Ly wrote:
Initially, I got some errors when running initportal against a schema with some tables from 2.5.* version. Then I dropped all tables in this schema, reran the initportal task and still getting this error.

Tuy.

Eric Dalquist wrote:
Are you doing initportal against a clean database schema or do tables already exist in it?

-Eric



Tuyhang Ly wrote:
Hi,

I'm trying out uPortal_3.0.0-M5 with Oracle DB and getting the following error for the "ant db" task even with a clean DB to start from:

[java] ERROR [main] util.JDBCExceptionReporter Jan/16 11:58:01.680 - ORA-01031: insufficient privileges

[java] ERROR [main] hbm2ddl.SchemaUpdate Jan/16 11:58:01.696 - could not complete schema update [java] org.hibernate.exception.SQLGrammarException: could not get table metadata: UP_PORTLET_PREF_VALUES
    ...
Caused by: java.sql.SQLException: ORA-01031: insufficient privileges

I have configured rdbm.properties accordingly for Oracle, and there were 38 tables created after this task, but none of the UP_PORTLET* tables were there. Am I missing something?

Thanks,
Tuy.
--
Tuyhang Ly
Application Developer
Enterprise Systems & Services, Rutgers University
65 Davidson Road, Room 101 - Piscataway, NJ 08854
voice: (732) 445-7393 | fax: (732) 445-5493 | email: [EMAIL PROTECTED]

--
You are currently subscribed to [email protected] as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

--
Tuyhang Ly
Application Developer
Enterprise Systems & Services, Rutgers University
65 Davidson Road, Room 101 - Piscataway, NJ 08854
voice: (732) 445-7393 | fax: (732) 445-5493 | email: [EMAIL PROTECTED]

--
You are currently subscribed to [email protected] as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

--
Tuyhang Ly
Application Developer
Enterprise Systems & Services, Rutgers University
65 Davidson Road, Room 101 - Piscataway, NJ 08854
voice: (732) 445-7393 | fax: (732) 445-5493 | email: [EMAIL PROTECTED]

--
You are currently subscribed to [email protected] as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

--
Tuyhang Ly
Application Developer
Enterprise Systems & Services, Rutgers University
65 Davidson Road, Room 101 - Piscataway, NJ 08854
voice: (732) 445-7393 | fax: (732) 445-5493 | email: [EMAIL PROTECTED]

--
You are currently subscribed to [email protected] as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to