Project

General

Profile

Bug #723

Erreur de mise à jour de la base v5.1 vers 5.2 sous Oracle

Added by Philippe Bazart over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Start date:
07/01/2010
Due date:
% Done:

100%

Estimated time:
Navigateur:
Votre version de Silverpeas:
5.2
Système d'exploitation:
Linux
Votre base de données:
Oracle

Description

DBBuilder ne serait-il pas testé sous Oracle ? ;-)

D'emblée, nous obtenons ceci :

CREATE TABLE SC_FormsOnline_Forms
(
id int NOT NULL,
xmlFormName varchar(80) NOT NULL,
name varchar(80) NOT NULL,
description varchar(200),
creationDate date NOT NULL,
state int NOT NULL,
instanceId varchar(80) NOT NULL,
alreadyUsed smallint NOT NULL DEFAULT 0,
creatorId varchar(20) NOT NULL,
title varchar(200) NOT NULL DEFAULT ''
)
/home/silver/SilverpeasV5/dbRepository/oracle/formsOnline/001/create_table.sql
at com.silverpeas.dbbuilder.DBBuilderPiece.executeSingleUpdate(DBBuilderPiece.java:247)
at com.silverpeas.dbbuilder.DBBuilderPiece.executeInstructions(DBBuilderPiece.java:177)
at com.silverpeas.dbbuilder.DBBuilder.processSQLFiles(DBBuilder.java:770)
at com.silverpeas.dbbuilder.DBBuilder.processDB(DBBuilder.java:630)
at com.silverpeas.dbbuilder.DBBuilder.main(DBBuilder.java:345)
Caused by: java.sql.SQLException: ORA-00907: parenthèse de droite absente

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:891)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
at com.silverpeas.dbbuilder.DBBuilderPiece.executeSingleUpdate(DBBuilderPiece.java:244)
... 4 more
....
***ERROR RETURNED BY THE RDBMS : ORA-00907: parenthèse de droite absente
***STATEMENT ON ERROR IS :
CREATE TABLE SC_FormsOnline_Forms
(
id int NOT NULL,
xmlFormName varchar(80) NOT NULL,
name varchar(80) NOT NULL,
description varchar(200),
creationDate date NOT NULL,
state int NOT NULL,
instanceId varchar(80) NOT NULL,
alreadyUsed smallint NOT NULL DEFAULT 0,
creatorId varchar(20) NOT NULL,
title varchar(200) NOT NULL DEFAULT ''
)
/home/silver/SilverpeasV5/dbRepository/oracle/formsOnline/001/create_table.sql

Related issues

Related to FormsOnline - Bug #746: Oracle: scripts SQL incorrectsClosedDavid Lesimple07/05/2010

Actions
#1

Updated by Philippe Bazart over 10 years ago

L'erreur provient du fait que les clauses DEFAULT et NOT NULL sont interverties. Par exemple :
alreadyUsed smallint DEFAULT 0 NOT NULL,
title varchar(200) DEFAULT '' NOT NULL

Par ailleurs, une autre erreur intervient dans les contraintes: il ne faut pas oublier qu'Oracle limite le nom de chaque objet à 30 caractères et pas un de plus !!

***ERROR RETURNED BY THE RDBMS : ORA-00972: l'identificateur est trop long
***STATEMENT ON ERROR IS :
ALTER TABLE SC_FormsOnline_FormInstances ADD
CONSTRAINT PK_SC_FormsOnline_FormInstances PRIMARY KEY
(
id
)
/home/silver/SilverpeasV5/dbRepository/oracle/formsOnline/001/create_constraint.sql
at com.silverpeas.dbbuilder.DBBuilderPiece.executeSingleUpdate(DBBuilderPiece.java:247)
at com.silverpeas.dbbuilder.DBBuilderPiece.executeInstructions(DBBuilderPiece.java:177)
at com.silverpeas.dbbuilder.DBBuilder.processSQLFiles(DBBuilder.java:770)
at com.silverpeas.dbbuilder.DBBuilder.processDB(DBBuilder.java:630)
at com.silverpeas.dbbuilder.DBBuilder.main(DBBuilder.java:345)
Caused by: java.sql.SQLException: ORA-00972: l'identificateur est trop long
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:891)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
at com.silverpeas.dbbuilder.DBBuilderPiece.executeSingleUpdate(DBBuilderPiece.java:244)
... 4 more
....
***ERROR RETURNED BY THE RDBMS : ORA-00972: l'identificateur est trop long
***STATEMENT ON ERROR IS :
ALTER TABLE SC_FormsOnline_FormInstances ADD
CONSTRAINT PK_SC_FormsOnline_FormInstances PRIMARY KEY
(
id
)
/home/silver/SilverpeasV5/dbRepository/oracle/formsOnline/001/create_constraint.sql
#2

Updated by Emmanuel Hugonnet over 10 years ago

  • Project changed from 9 to FormsOnline
#3

Updated by Philippe Bazart over 10 years ago

  • Status changed from New to Closed
  • Assignee set to David Lesimple
  • Target version set to Version 5.2.1
  • % Done changed from 0 to 100

Also available in: Atom PDF