Oracle error in script creation

Hi Guys, I am getting this Oracle error when I try and install ContentBox on Oracle 11G. Does anyone know what code needs to be fixed correct this? Thanks

[Macromedia][Oracle JDBC Driver][Oracle]ORA-01754: a table may contain only one column of type LONG

Here is the stack
org.hibernate.JDBCException: Error during DDL export
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:209)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:453)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:411)
at coldfusion.orm.hibernate.HibernateConfiguration.initHibernateConfiguration(HibernateConfiguration.java:224)
at coldfusion.orm.hibernate.HibernateConfiguration.(HibernateConfiguration.java:181)
at coldfusion.orm.hibernate.ConfigurationManager.initConfiguration(ConfigurationManager.java:67)
at coldfusion.orm.hibernate.HibernateProvider.InitializeORMForApplication(HibernateProvider.java:185)
at coldfusion.orm.hibernate.HibernateProvider.beforeApplicationStart(HibernateProvider.java:80)
at coldfusion.filter.ApplicationFilter.fireBeforeAppStartEvent(ApplicationFilter.java:566)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:300)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:210)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: [Macromedia][Oracle JDBC Driver][Oracle]ORA-01754: a table may contain only one column of type LONG

at macromedia.jdbc.oraclebase.ddca.b(Unknown Source)
at macromedia.jdbc.oraclebase.ddca.a(Unknown Source)
at macromedia.jdbc.oraclebase.ddb9.b(Unknown Source)
at macromedia.jdbc.oraclebase.ddb9.a(Unknown Source)
at macromedia.jdbc.oracle.ddm.q(Unknown Source)
at macromedia.jdbc.oraclebase.ddem.v(Unknown Source)
at macromedia.jdbc.oraclebase.ddem.x(Unknown Source)
at macromedia.jdbc.oraclebase.ddem.executeUpdate(Unknown Source)
at coldfusion.server.j2ee.sql.JRunStatement.executeUpdate(JRunStatement.java:193)
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:204)
… 42 more

George does it tell you what entity causes this?
Also what column?

signature0.jpg

Luis F. Majano
CEO
Ortus Solutions, Corp
www.ortussolutions.com

ColdBox Platform: http://www.coldbox.org
Linked In: http://www.linkedin.com/pub/3/731/483
Blog: http://www.luismajano.com
IECFUG Manager: http://www.iecfug.com

Social: twitter.com/lmajano facebook.com/lmajano

Hi Luis unfortunately it does not tell. Where are these build scripts located?

Thanks,

GM

Hi Luis, it does not say what file is causing this. Where are these builds located?

Thanks,

GM

George can you activate logging for hibernate please in your cf and also add orm logging to the application.cfc as well so we can see where it fails

Here is where the error is coming from.

09/14 00:50:13 [ajp-bio-8012-exec-1] HIBERNATE DEBUG - create table cb_author (authorID number(10,0) not null, firstName varchar2(100 char) not null, lastName varchar2(100 char) not null, email varchar2(255 char) not null, username varchar2(100 char) not null unique, password varchar2(100 char) not null, isActive number(1,0) default 0 not null, lastLogin timestamp, createdDate timestamp not null, biography long, preferences long, FK_roleID number(10,0) not null, primary key (authorID))

09/14 00:50:13 [ajp-bio-8012-exec-1] HIBERNATE DEBUG - create table cb_author (authorID number(10,0) not null, firstName varchar2(100 char) not null, lastName varchar2(100 char) not null, email varchar2(255 char) not null, username varchar2(100 char) not null unique, password varchar2(100 char) not null, isActive number(1,0) default 0 not null, lastLogin timestamp, createdDate timestamp not null, biography long, preferences long, FK_roleID number(10,0) not null, primary key (authorID))

09/14 00:50:13 [ajp-bio-8012-exec-1] HIBERNATE ERROR - could not complete schema update

org.hibernate.JDBCException: Error during DDL export

It looks like this is where the problem exists for Oracle.

property name=“biography” ormtype=“text” notnull=“false” length=“8000” default="";
// Preferences are stored as JSON
property name=“preferences” ormtype=“text” notnull=“false” length=“8000” default="";

/modules/contentbox/model/security/author.cfc

Ok I figured it out. This is a old hibernate issue as the long data type on oracle is deprecated now and either clob or nclob should be used.

Unfortunately hibernate still maps text to long.

Anyways, you will need to do the following

For each entity that uses ormtype="text" add the following: sqltype="clob"

That should get you up and running. So I guess I am going to have to produce two builds now as well.

Luis,

Couldn’t you make the change adding the sql type during the ContentBox installer to prevent multiple buids?

Good observation. But I guess then everything needs write capabilities then

Actually it is more complicated than that as the installer already needs the db to be created already.

I changed it to this.

property name=“biography” sqltype=“clob” notnull=“false” length=“8000” default="";
// Preferences are stored as JSON
property name=“preferences” sqltype=“clob” notnull=“false” length=“8000” default="";

I am getting this error now.

09/14 09:49:33 [ajp-bio-8012-exec-2] HIBERNATE DEBUG - create table cb_author (authorID number(10,0) not null, firstName varchar2(100 char) not null, lastName varchar2(100 char) not null, email varchar2(255 char) not null, username varchar2(100 char) not null unique, password varchar2(100 char) not null, isActive number(1,0) default 0 not null, lastLogin timestamp, createdDate timestamp not null, biography clob(8000), preferences clob(8000), FK_roleID number(10,0) not null, primary key (authorID))

09/14 09:49:33 [ajp-bio-8012-exec-2] HIBERNATE DEBUG - create table cb_author (authorID number(10,0) not null, firstName varchar2(100 char) not null, lastName varchar2(100 char) not null, email varchar2(255 char) not null, username varchar2(100 char) not null unique, password varchar2(100 char) not null, isActive number(1,0) default 0 not null, lastLogin timestamp, createdDate timestamp not null, biography clob(8000), preferences clob(8000), FK_roleID number(10,0) not null, primary key (authorID))

09/14 09:49:33 [ajp-bio-8012-exec-2] HIBERNATE ERROR - could not complete schema update

org.hibernate.JDBCException: Error during DDL export
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:209)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:453)
at coldfusion.orm.hibernate.HibernateConfiguration.exportSchema(HibernateConfiguration.java:411)
at coldfusion.orm.hibernate.HibernateConfiguration.initHibernateConfiguration(HibernateConfiguration.java:224)
at coldfusion.orm.hibernate.HibernateConfiguration.(HibernateConfiguration.java:181)
at coldfusion.orm.hibernate.ConfigurationManager.initConfiguration(ConfigurationManager.java:67)
at coldfusion.orm.hibernate.HibernateProvider.InitializeORMForApplication(HibernateProvider.java:185)
at coldfusion.orm.hibernate.HibernateProvider.beforeApplicationStart(HibernateProvider.java:80)
at coldfusion.filter.ApplicationFilter.fireBeforeAppStartEvent(ApplicationFilter.java:566)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:300)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:210)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: [Macromedia][Oracle JDBC Driver][Oracle]ORA-00907: missing right parenthesis

george,

trying removing the length attribute, I don’t think clob datatypes have defined lengths.