Projet

Général

Profil

Actions

Bug #723

fermé

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

Ajouté par Anonyme il y a presque 14 ans. Mis à jour il y a presque 14 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Début:
01/07/2010
Echéance:
% réalisé:

100%

Temps estimé:
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

Demandes liées 1 (0 ouverte1 fermée)

Lié à FormsOnline - Bug #746: Oracle: scripts SQL incorrectsClosedDavid Lesimple05/07/2010

Actions

Mis à jour par Anonyme il y a presque 14 ans

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

Mis à jour par Emmanuel Hugonnet il y a presque 14 ans

  • Projet changé de 9 à FormsOnline

Mis à jour par Anonyme il y a presque 14 ans

  • Statut changé de New à Closed
  • Assigné à mis à David Lesimple
  • Version cible mis à Version 5.2.1
  • % réalisé changé de 0 à 100
Actions

Formats disponibles : Atom PDF