TP07 Unknown database 'petstoreDB' [RESOLU]

Modérateurs : graffion, jmdouin, agoncal, mlebihan

ply
Messages : 14
Inscription : 03 déc. 2014 3:36

TP07 Unknown database 'petstoreDB' [RESOLU]

Message par ply » 03 déc. 2014 3:43

Bonjour,

J'ai supprimé mon ancienne base

puis fait

ant yaps-create-db

là il cherche 'petstoreDB'

j'ai crée 'petstoreDB'

Puis ant yaps-insert-data

j'ai l'erreur suivante
TP07/build.xml:156: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'petstoreDB'

Il semble que c'est pas la bonne base de donnée ça devrait être PETSTOREDB au lieu de 'petstoreDB'

Je ne comprend pas comment il peut se tromper de base de donnée.

Quelqu'un a une solution ?

graffion
Messages : 663
Inscription : 21 juin 2005 14:05

Re: TP07 Unknown database 'petstoreDB'

Message par graffion » 03 déc. 2014 16:01

Bonjour,

Sans un problème de casse (majuscule).
Détruisez petstoreDB dans phpMyAdmin, ne pas la recréer dans php MyAdmin.

La tâche ant

Code : Tout sélectionner

yaps-create-db 
va la recréer :

Code : Tout sélectionner

cat structure.sql
-- Cleanup
DROP DATABASE IF EXISTS PETSTOREDB;
CREATE DATABASE PETSTOREDB;
USE PETSTOREDB;
...

ply
Messages : 14
Inscription : 03 déc. 2014 3:36

Re: TP07 Unknown database 'petstoreDB'

Message par ply » 03 déc. 2014 16:38

J'ai détruit la base de donnée petstoreDB



quand je fais

Code : Tout sélectionner

ant yaps-create-db 
j'ai le message

Code : Tout sélectionner

TP07/build.xml:146: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'petstoreDB'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
	at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
	at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)
	at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:940)
	at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:612)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:435)
	at org.apache.tools.ant.Target.performTasks(Target.java:456)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
	at org.apache.tools.ant.Main.runBuild(Main.java:851)
	at org.apache.tools.ant.Main.startAnt(Main.java:235)
	at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
	at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

et quand je créée a la base petstoreDB,
il me créée une autre base de donnée PETSTOREDB.
J'ai 2 bases de donnée petstoreDB et PETSTOREDB
Ce qui fait qu'avec ant yaps-insert-data

Code : Tout sélectionner

TP07/Yaps/src/config/data.sql
      [sql] Failed to execute:  DELETE FROM T_ORDER_LINE

TP07/build.xml:156: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'petstoreDB.T_ORDER_LINE' doesn't exist
Peut-être je dois supprimer dans structure.sql

Code : Tout sélectionner

CREATE DATABASE PETSTOREDB;
-------------------------------

Dans structure.sql
j'ai modifié :

Code : Tout sélectionner

# CREATE DATABASE PETSTOREDB;
# USE PETSTOREDB;
USE petstoreDB;

Code : Tout sélectionner

yaps-create-db:
      [sql] Executing resource: TP07/Yaps/src/config/structure.sql
      [sql] 18 of 18 SQL statements executed successfully

yaps-insert-data:
      [sql] Executing resource: TP07/Yaps/src/config/data.sql
      [sql] 57 of 57 SQL statements executed successfully

;
ça marche.
Dernière édition par ply le 03 déc. 2014 16:50, édité 1 fois.

graffion
Messages : 663
Inscription : 21 juin 2005 14:05

Re: TP07 Unknown database 'petstoreDB'

Message par graffion » 03 déc. 2014 16:48

Vous êtes sous Linux ou MAC sans doute.

Modifier le script Yaps/src/config/structure.sql pour remplacer PETSTOREDB par petstoreDB

ply
Messages : 14
Inscription : 03 déc. 2014 3:36

Re: TP07 Unknown database 'petstoreDB'

Message par ply » 03 déc. 2014 16:51

Je suis sous Linux

Dans structure.sql
j'ai modifié :

Code : Tout sélectionner

# CREATE DATABASE PETSTOREDB;
# USE PETSTOREDB;
USE petstoreDB;

Code : Tout sélectionner

yaps-create-db:
      [sql] Executing resource: TP07/Yaps/src/config/structure.sql
      [sql] 18 of 18 SQL statements executed successfully

yaps-insert-data:
      [sql] Executing resource: TP07/Yaps/src/config/data.sql
      [sql] 57 of 57 SQL statements executed successfully

;
ça marche.

Répondre