IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Séquences pour auto incrémentation?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par défaut Séquences pour auto incrémentation?
    Bonjour j 'essai de faire un tuto
    Sur le tuto il propose de créer un formulaire sous forme de jsp
    et d'envoyer les données dans ma base de données Mysql.

    je veux adapter ce tuto à ORACLE
    mais je suis coincé à la création de table:

    voila le code pour Mysql:

    create table client(refClient INT AUTO_INCREMENT PRIMARY KEY, nom VARCHAR(127), motDePass VARCAHR(24),...
    donc mon code jsp:

    ...
    //préparation et execution de la requete
    Statement req = con.createStatement();
    String requete = "INSERT INTO Client VALUES(Null, '"+ nom +"','"+ adresse +"','" + codePostal + "', '" + ville + "')";
    int nblignes = req.executeUpdate(requete);

    //fermeture
    req.close();
    con.close();
    out.println("Le client " + nom + " a bien été enregistré dans la base");
    }
    else {
    ...

    donc mon probléme est que l'auto incrémentation ne marche pas sous oracle
    et je ne sais pas comment adapter le code sql pour oracle,

    est ce que quelqu'un peut m'aider, merci d'avance.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    merci de faire une recherche

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par défaut
    donc j'ai repris le code et j'ai exécuter ceci:
    donc pour créer la table:
    create table Client (id NUMBER PRIMARY KEY, nom VARCHAR(127), motDePasse VARCHAR(24),adresse VARCHAR(200),codePostal VARCHAR(12), ville VARCHAR(100));
    ensuite j'exécute l'auto-incrémentation:

    CREATE SEQUENCE client_sequence
    START WITH 1
    INCREMENT BY 1;
    Mais quand j'exécute mon code jsp j'ia ce probléme quelqu'un peut m'aider svp?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: Exception in JSP: /nouveauClient.jsp:44
     
    41: 	//préparation et execution de la requete
    42: 	Statement req = con.createStatement();
    43: 	String requete = "INSERT INTO Client VALUES(Null, '"+ nom +"','"+ adresse +"','" + codePostal + "', '" + ville + "')";
    44: 	int nblignes = req.executeUpdate(requete);
    45: 	
    46: 	//fermeture
    47: 	req.close();
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    javax.servlet.ServletException: ORA-00947: Nombre de valeurs insuffisant
     
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    	org.apache.jsp.nouveauClient_jsp._jspService(nouveauClient_jsp.java:109)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    cause mère 
     
    java.sql.SQLException: ORA-00947: Nombre de valeurs insuffisant
     
    	oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    	oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    	oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    	oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    	oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    	oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
    	oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    	oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
    	oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:796)
    	org.apache.jsp.nouveauClient_jsp._jspService(nouveauClient_jsp.java:87)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.23.
     
     
    --------------------------------------------------------------------------------
     
    Apache Tomcat/5.5.23

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    http://ora-00947.ora-code.com/

    tu serais bien inspiré de te remémorer les règles du forum

Discussions similaires

  1. Insert vide pour auto-incrémenter l'identifiant, est-ce possible ?
    Par thedev44 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 22/05/2014, 10h52
  2. Réponses: 11
    Dernier message: 19/07/2010, 23h48
  3. Erreur 1060 régulière pour un auto-incrément dévalué
    Par sergeh dans le forum Administration
    Réponses: 0
    Dernier message: 06/07/2009, 16h13
  4. Condition pour l'auto incrémentation
    Par Strange-Days dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/03/2008, 21h03
  5. pb pour l'auto-incrémentation
    Par matinho dans le forum C#
    Réponses: 23
    Dernier message: 13/11/2007, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo