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 :

Problème insertion BDD Oracle


Sujet :

Oracle

  1. #21
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par james23 Voir le message
    C'est sa le soucis je sais pas ce que représente ce SYS_C0023962
    C'est pour ça qu'il est préférable de nommer les contraintes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE salle(
    id_salle int NOT NULL,
    num_salle int,
    id_batiment int,
     CONSTRAINT SALLE_PK PRIMARY KEY(id_salle),
    CONSTRAINT SALLE_BATIMENT_FK FOREIGN KEY(id_batiment) REFERENCE batiment(id_batiment)
    );
     
    CREATE TABLE batiment(
    id_batiment int NOT NULL,
    nom_batiment varchar(10),
    CONSTRAINT BATIMENT_PK PRIMARY KEY(id_batiment)
    );

  2. #22
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Cela me renseigne juste sur quel table le soucis provient. Le soucis proviens de la table fouille.
    Même avec tout en dur comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO fouille (id_fouille, num_ctv, id_ccs, id_date_deb_travaux , id_date_ferm_fouille, id_date_ouv_fouille, id_resp, id_numAdr, id_type_voie, id_nom_voie, id_CP, id_unite, id_numero_Aff, id_libelle_incident, id_entreprise, id_decompte) VALUES (1, 12345698,1,1,1,1,1,1,1,1,1,1,1,1,1,0)
    Bah j'ai toujours l'erreur de violation.

  3. #23
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    C'est une contrainte de référence, donc forcément, tu as 2 tables impactées.
    Ca te permet donc de savoir quelle colonne n'a aucune référence dans la table maitresse.

  4. #24
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Il me dit qu'il n'y a aucune référence. :s
    Pourtant ce n'est pas vrai, mes référence sont bien faite.

  5. #25
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Vous essayez d'écrire dans FOUILLE, donc c'est l'autre table qu'il faut regarder.

  6. #26
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    C'est bon, je sais que maintenant c'est pas les relations entre les tables qui ne fonctionnent pas mais comme je récupère pas la bonne valeur des différents identificateurs donc il veux insérer des valeurs bizarres qui ne doivent pas existée donc voila pourquoi j'ai a chaque fois des violations

  7. #27
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    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
    <%
    String chp_unite = request.getParameter("unite");
    String chp_aff = request.getParameter("affaire");
    String chp_ctv = request.getParameter("ctv");
     
    Connection dbc = DriverManager.getConnection("jdbc:oracle:thin:@localhost.......",".....","......");
     
    IF (chp_unite != NULL && chp_aff != NULL && chp_ctv != NULL )
    {
    		int r_unite;
    		String sqlUnite = "SELECT id_unite FROM unite WHERE nom_unite= ?";
    		PreparedStatement pstmt_unite = dbc.prepareStatement(sqlUnite);
    		pstmt_unite.setString(1, chp_unite);		
    		ResultSet resultat_unite = pstmt_unite.executeQuery();
    		IF(resultat_unite.next()) {
    			r_unite = resultat_unite.getInt("id_unite");
    		}
    		PreparedStatement pstmt_aff;
    		pstmt_aff = dbc.prepareStatement("SELECT COUNT(id_numero_Aff) AS nb, num_aff_seq.NEXTVAL AS id_insert, id_numero_Aff FROM numero_Aff WHERE num_affaire = ?;");
    		pstmt_aff.setString(1, chp_aff);		
    		ResultSet resultat_affaire = pstmt_aff.executeQuery();		
    		int r_affaire = -1;
    		IF(resultat_affaire.next()) {
    			IF(resultat_affaire.getInt("nb") == 0) {
    				r_affaire = resultat_affaire.getInt("id_insert");
    				pstmt_aff = dbc.prepareStatement("INSERT INTO numero_Aff (id_numero_Aff, num_affaire) VALUES (" + r_affaire + ", ?);");			
    				pstmt_aff.setString(1, chp_aff);
    				pstmt_aff.executeUpdate();
    			}
    			else {
    				r_affaire = resultat_affaire.getInt("id_numero_Aff");
    			}
    		}
     
    		PreparedStatement pstmt_fouille;
    		pstmt_fouille = dbc.prepareStatement("SELECT COUNT(id_fouille) AS nb, fouille_seq.NEXTVAL AS id_insert, id_fouille FROM numero_Aff WHERE num_ctv = ?;");
    		pstmt_fouille.setString(1, chp_ctv);		
    		ResultSet resultat_fouille = pstmt_fouille.executeQuery();		
    		int r_fouille = -1;
    		IF(resultat_fouille.next()) {
    			IF(resultat_fouille.getInt("nb") == 0) {
    				r_fouille = resultat_fouille.getInt("id_insert");
    				pstmt_fouille = dbc.prepareStatement("INSERT INTO fouille (id_fouille, num_ctv, id_ccs, id_date_deb_travaux , id_date_ferm_fouille, id_date_ouv_fouille, id_resp, id_numAdr, id_type_voie, id_nom_voie, id_CP, id_unite, id_numero_Aff, id_libelle_incident, id_entreprise, id_decompte) VALUES (" + r_fouille + ", ?,"+r_ccs+"," + r_debTrav + "," + r_finTrav + "," + r_ouvFouille + "," + r_nomResp + "," + r_numAdr + "," + r_typeVoie + "," + r_nomVoie + "," + r_CP + "," + r_unite + "," + r_affaire + "," + r_libelle + "," + r_nomEntreprise + ",'');");		
    				pstmt_fouille.setString(1, chp_ctv);
    				pstmt_fouille.executeUpdate();
    			}
    			else {
    				r_fouille = resultat_fouille.getInt("id_fouille");
    			}
    		}
    }
    dbc.close();
    %>
    En faite, le problème viens que dans r_unite et r_affaire, il ne possède pas l'id de la table.

Discussions similaires

  1. Problème insertion BDD
    Par supstoov dans le forum JDBC
    Réponses: 15
    Dernier message: 15/06/2011, 18h49
  2. problème insertion bdd
    Par hugo7 dans le forum VB.NET
    Réponses: 19
    Dernier message: 07/10/2009, 10h13
  3. [MySQL] Problème insertion bdd -> accent
    Par piero53 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 16/06/2009, 00h33
  4. [2.2.2] Problème connexion BDD Oracle JDBC
    Par BlueSky dans le forum BIRT
    Réponses: 6
    Dernier message: 12/03/2008, 15h22
  5. Problème Création BDD Oracle 9i
    Par artatnas dans le forum Installation
    Réponses: 1
    Dernier message: 27/07/2007, 13h40

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