Project

General

Profile

Actions

Bug #723

closed

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

Added by Anonymous over 14 years ago. Updated over 14 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
Livraison en TEST:
Livraison en PROD:

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 1 (0 open1 closed)

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

Actions
Actions #1

Updated by Anonymous over 14 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
Actions #2

Updated by Emmanuel Hugonnet over 14 years ago

  • Project changed from 9 to FormsOnline
Actions #3

Updated by Anonymous over 14 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
Actions

Also available in: Atom PDF