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

SQL Oracle Discussion :

Problème insertion sur base distante


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut Problème insertion sur base distante
    Bonjour,

    Je réalise une comparaison sur deux bases, l'une en locale, l'autre sur un serveur à l'aide d'un dblink et j'insere les lignes sur la base du serveur qui sont sur la base locale mais pas encore sur le serveur.

    Lors de l'INSERT, j'ai deux erreurs oracle suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      INSERT INTO me_crea_pb@sircom05star.world
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world;
    ORA-01400: impossible d'insÚrer NULL dans ("ES_CIME"."ME_CREA_PB"."PB_IDENT_GMTA")
    ORA-02063: prÚcÚdant line de SIRCOM05STAR.WORLD
    Sachant que PB_IDENT_GMTA n'est pas nulle, je ne comprend pas ces erreurs.

    Merci pour votre aide!

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    que donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT COUNT(*) FROM
    (    SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world)
    WHERE PB_IDENT_GMTA IS NULL;
    Et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(*) FROM
    (    SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world)

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par orafrance Voir le message
    que donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT COUNT(*) FROM
    (    SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world)
    WHERE PB_IDENT_GMTA IS NULL;


    RESULTAT:= 0


    Et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COUNT(*) FROM
    (    SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world)
    RESULTAT:= 10

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    vérifie que tu n'as pas de trigger sur la table distante

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    Non je n'ai pas de trigger sur la table distante

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    J'imagine que l'ordre de vos colonnes dans votre table n'est pas celui de votre select. Il vous faut préciser le nom des colonnes dans l'insert pour éviter ce problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      INSERT INTO me_crea_pb@sircom05star.world (PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT) 
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb
        MINUS
        SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
        FROM me_crea_pb@sircom05star.world;

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    L'ordre des colonnes est le même, si je précise le nom des colonnes j'obtiens la même erreur.

  8. #8
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Etrange votre problème effectivement.
    S'agit-il d'insertion dans des tables ou dans des vues ?

    Vous est-il possible de nous montrer les scripts de vos tables et le résultat de votre select ?

  9. #9
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    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
    54
    55
    56
    57
    58
    59
    60
    SQL> SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
      2      FROM me_crea_pb
      3      MINUS
      4      SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
      5      FROM me_crea_pb@sircom05star.world;
     
    PB_IDENT_GMTA                   CAB_IDENT TRAV_IDENT                     PBM_DATE    PBM_VAL   PBM_TEMP PBM_AUTEUR PBM_SUP_NUMERO                 MARQ_G   PB_IDENT
    ------------------------------ ---------- ------------------------------ -------- ---------- ---------- ---------- ------------------------------ ------ ----------
    Y23                                   720 1                              23/01/09         10         10       3061 14208                          0               0
    Y_10                                 9324 16                             02/10/09         10         10         10 9276                           1            2012
    Y_15                                10859 13                             15/01/09         10         10       3061 9696                           1            2009
    Y_16                                58181 17                             05/01/09         10         10       3061 3697                           1            2010
    Y_17                                  321 15                             02/01/09         10         10         10 32                             1            2011
    Y_18                                31946 15                             13/01/09         10         10       3061 9156                           0               0
    Y_19                                31946 12                             13/01/09         10         -2       3061 9163                           0               0
    Y_20                                57110 1                              13/01/09         10         10       3061 16274                          0               0
    Y_21                                44880 14                             14/01/09         10         10         10 29027                          0               0
    Y_22                                60940 14                             14/01/09         10         10         10 30660                          0               0
     
    10 ligne(s) sÚlectionnÚe(s).
    SQL> desc me_crea_pb;
     Nom                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     NULL ?   Type
     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ------------------------
     PB_IDENT_GMTA                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           NOT NULL VARCHAR2(10)
     CAB_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               NOT NULL NUMBER(10)
     TRAV_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NOT NULL VARCHAR2(10)
     PBM_DATE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NOT NULL DATE
     PBM_VAL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 NOT NULL NUMBER(4,2)
     PBM_TEMP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NOT NULL NUMBER(2)
     PBM_AUTEUR                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NOT NULL NUMBER(5)
     PBM_SUP_NUMERO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NOT NULL VARCHAR2(10)
     MARQ_GRAPH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       VARCHAR2(2)
     PB_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         NUMBER(10)
     
    SQL> desc me_crea_pb@sircom05star.world;
     Nom                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     NULL ?   Type
     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ------------------------
     PB_IDENT_GMTA                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           NOT NULL VARCHAR2(10)
     CAB_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               NOT NULL NUMBER(10)
     TRAV_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NOT NULL VARCHAR2(10)
     PBM_DATE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NOT NULL DATE
     PBM_VAL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 NOT NULL NUMBER(4,2)
     PBM_TEMP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                NOT NULL NUMBER(2)
     PBM_AUTEUR                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              NOT NULL NUMBER(5)
     PBM_SUP_NUMERO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          NOT NULL VARCHAR2(10)
     MARQ_GRAPH                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       VARCHAR2(2)
     PB_IDENT                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         NUMBER(10)
    SQL> INSERT INTO me_crea_pb@sircom05star.world (PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT)
      2      SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
      3      FROM me_crea_pb
      4      MINUS
      5      SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
      6      FROM me_crea_pb@sircom05star.world;
    INSERT INTO me_crea_pb@sircom05star.world (PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT)
    *
    ERREUR Ó la ligne 1 :
    ORA-01400: impossible d'insÚrer NULL dans ("ES_CIME"."ME_CREA_PB"."PB_IDENT_GMTA")
    ORA-02063: prÚcÚdant line de SIRCOM05STAR.WORLD

  10. #10
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Et bien, je sèche quelque peu sur votre soucis.
    Un soucis de parenthèse ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO me_crea_pb@sircom05star.world (PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT)
    (SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
    FROM me_crea_pb
    MINUS
    SELECT PB_IDENT_GMTA,CAB_IDENT,TRAV_IDENT,PBM_DATE,PBM_VAL,PBM_TEMP,PBM_AUTEUR,PBM_SUP_NUMERO,MARQ_GRAPH,PB_IDENT
    FROM me_crea_pb@sircom05star.world);
    Est-ce que ça fonctionne en deux étapes ?
    1) Créer une table tampon sur la base distante pour recevoir votre delta
    2) Insérer ces résultats

  11. #11
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    Non, ce n'est pas un probleme de parenthese.
    J'ai essayé le script sur un autre serveur et ca fonctionne.
    Je pense qu'il doit y avoir un problème de droit ou de parametrage du serveur?
    Quelqu'un à t il une idée???

  12. #12
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Est-ce que tout simplement ta colonne n'aurait pas une contrainte d'intégrité "not null" dans ta base distante et "null" de l'autre côté ?
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Ca sent l'appel au support cette affaire parce que franchement le comportement est plus qu'étrange

Discussions similaires

  1. [Débutant] Problème à l'insertion sur base donné Access | Lecture Seule
    Par megibson dans le forum Windows Forms
    Réponses: 0
    Dernier message: 22/02/2014, 23h37
  2. Serveur de reporing - Insertion de données sur base distante
    Par Oishiiii dans le forum Administration
    Réponses: 8
    Dernier message: 22/12/2010, 12h31
  3. requete sur bases distantes
    Par blures1 dans le forum Requêtes
    Réponses: 5
    Dernier message: 05/07/2006, 17h43
  4. Réponses: 1
    Dernier message: 04/04/2006, 10h28
  5. phpmyadmin sur base distante
    Par titi63 dans le forum Installation
    Réponses: 3
    Dernier message: 02/10/2003, 18h19

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