Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Connexions aux bases de données
Connexions aux bases de données Forum d'entraide sur les problèmes de connectivité Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2011, 19h14   #1
Invité de passage
 
Homme azeer ben
Développeur Java
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme azeer ben
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut java.sql.BatchUpdateException: ORA-01031: privilèges insuffisants

Bonjour tout le monde,
mon problème est le suivant:
j’utilise un client junit (qui utilise a son tour hibernate )pour insérer une adresse dans la base de données(oracle 10g express edition),
l'utilisateur configuré sur le fichier persistence.xml est sysem qui a tout les droits (j'ai utilisé grant all privilegeses to system depuis l'interface toad)
la base de données et le client junit sont sur la même machine local.
lorsque je fais un select depuis le même client junit sur la table tout marche bien mais lorsque je fais un insert j'ai la trace suivante :
Citation:
19 sept. 2011 00:38:27 com.azeer.client.junit.PersistenceHorsContainerTest setUp
INFO: jpa entity manager pour les test unitaires
log4j:WARN No appenders could be found for logger (org.hibernate.type.BasicTypeRegistry).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
19 sept. 2011 00:38:31 com.eni.dvtejb.tests.PersistenceHorsContainerTest testPersistence
INFO: debut de testPersistence()
19 sept. 2011 00:38:31 com.eni.dvtejb.tests.PersistenceHorsContainerTest testPersistence
INFO: em.getTransaction().begin()
Hibernate: select adresse_seq.nextval from dual
Hibernate: insert into SYS.ADRESSE (CODEPOSTAL, DEPARTEMENT, NUMERO, PAYS, RUE, VILLE, ADRESSEID) values (?, ?, ?, ?, ?, ?, ?)
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1215)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1148)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1154)
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:798)
at com.eni.dvtejb.tests.PersistenceHorsContainerTest.testPersistence(PersistenceHorsContainerTest.java:108)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:268)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManagerImpl.java:795)
... 20 more
Caused by: java.sql.BatchUpdateException: ORA-01031: privilèges insuffisants

at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:345)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10844)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 26 more
19 sept. 2011 00:38:31 com.eni.dvtejb.tests.PersistenceHorsContainerTest tearDown
INFO: fermeture de la couche hibernate jpa
merci.
azeer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 17h45   #2
Membre expérimenté
 
Homme Didier Duchossoir
Administrateur de base de données
Inscription : mars 2003
Messages : 557
Détails du profil
Informations personnelles :
Nom : Homme Didier Duchossoir
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : mars 2003
Messages : 557
Points : 507
Points : 507
Bonsoir,

vous essayer d'insérer des données dans la table SYS.ADRESS :
vous ne devez pas créer de tables dans le schéma de SYS .
Vous devez créer un utilisateur dans la base de données pour votre application.

Vous pourrez ensuite créer des tables, etc ...

cdlt
ducho est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h25.


 
 
 
 
Partenaires

Hébergement Web