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

MS SQL Server Discussion :

Insertion impossible car identity insert défini à off


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 189
    Par défaut Insertion impossible car identity insert défini à off
    Bonjour a tous, voila je travail sur vb.net et sql server 2005 express et j'ai deux tables, une ordre_mission et une tache. Sachant que pour un ordre_mission je peut avoir plusieurs tache et que pour une tache je peut avoir plusieurs mission, j'ai donc créé une troisième table qui fait le lien entre les deux tables précédentes et dans laquelle je met le numéro de mission et le numéro de la tache.

    Pour mes deux premières tables, j'ai mis une incrémentation en automatique, avec l'option identity a true, mais pour ma table qui fait la liaison je n'ai pas cette option d'accessible est pourtant j'ai un message d'erreur à l'insertion.

    Voici les descriptifs de mes tables :


    TABLE ORDRE_MISSION
    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
     
    CREATE TABLE [dbo].[ORDRE_MISSION](
    	[NumOrdre] [int] IDENTITY(1,1) NOT NULL,
    	[Motifsordre] [varchar](max) COLLATE French_CI_AS NOT NULL,
    	[Observations] [varchar](max) COLLATE French_CI_AS NOT NULL,
    	[NumInt] [int] NOT NULL,
    	[NumBeneficiaire] [int] NOT NULL,
     CONSTRAINT [PK_ORDRE_MISSION] PRIMARY KEY CLUSTERED 
    (
    	[NumOrdre] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    SET ANSI_PADDING OFF
    GO
    ALTER TABLE [dbo].[ORDRE_MISSION]  WITH CHECK ADD  CONSTRAINT [FK_ORDRE_MISSION_ORDRE_MISSION] FOREIGN KEY([NumOrdre])
    REFERENCES [dbo].[ORDRE_MISSION] ([NumOrdre])
    GO
    ALTER TABLE [dbo].[ORDRE_MISSION] CHECK CONSTRAINT [FK_ORDRE_MISSION_ORDRE_MISSION]
    GO
    ALTER TABLE [dbo].[ORDRE_MISSION]  WITH CHECK ADD  CONSTRAINT [FK_ORDRE_MISSION_ORDRE_MISSION1] FOREIGN KEY([NumOrdre])
    REFERENCES [dbo].[ORDRE_MISSION] ([NumOrdre])
    GO
    ALTER TABLE [dbo].[ORDRE_MISSION] CHECK CONSTRAINT [FK_ORDRE_MISSION_ORDRE_MISSION1]
    TABLE TACHE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE TABLE [dbo].[TACHE](
    	[NumTâche] [int] IDENTITY(1,1) NOT NULL,
    	[LibTâche] [varchar](50) COLLATE French_CI_AS NOT NULL,
     CONSTRAINT [PK_TACHE] PRIMARY KEY CLUSTERED 
    (
    	[NumTâche] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE [dbo].[MISSION_TACHE](
    	[NumTâche] [int] IDENTITY(1,1) NOT NULL,
    	[NumOrdre] [int] NOT NULL,
     CONSTRAINT [PK_MISSION_TACHE] PRIMARY KEY CLUSTERED 
    (
    	[NumTâche] ASC,
    	[NumOrdre] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]

    Dans mon programme j'insère d'abord dans ordre_mission, puis je récupère le dernier numéro d'ordre et ensuite je fais une insertion dans mission_tache.

    Ma question est de savoir pourquoi ais-je ce problème qui arrive lors de l'insertion et est ce que si je faisais mon insertion dans mission tache à l'aide d'un trigger au lieu d'une fonction dans mon programme j'aurais le même problème ??
    Et dans ma table mission_tache, est ce que c'est bon que ma clé primaire soit formé de mes deux clé étrangeres de mes deux autres tables ??

    Tellement de question qui se pose car je n'arrive même plus a être sur de ce que je fais

    d'avance merci de votre aide

    @++
    dubidon

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Dans ta table jointe, tu initialises le champ NumTâche de la table mission_tache en indiquant que ces un champ avec incrémant du coup si tu essaies d'y insérer une valeur tu auras forcément une ereur.
    Il faut donc que tu retires l'incrément sur sur le champ.
    Petit conseille rajoute une clé identifiant les différentes mission dans mission tâche car tu auras sûrement beaucoup de doublon.

    Bonne continuation.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 189
    Par défaut
    merci de l'info, j'avais même pas remarqué car j'étais persuadé de l'avoir enlever

    merci beaucoup pour l'aide

    @++
    dubidon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion impossible de GPolygon sous IE
    Par Nosty dans le forum APIs Google
    Réponses: 8
    Dernier message: 22/01/2010, 15h09
  2. SQL 2k5 - Bulk Insert et contrainte identity
    Par Luc1an0 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 08/01/2008, 19h35
  3. [PDO] [SQLite] create table et insert impossible sous linux (ok sous windows)
    Par rebolon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2007, 15h59
  4. Code requete INSERT impossible VB2005
    Par hellspawn_ludo dans le forum Accès aux données
    Réponses: 18
    Dernier message: 11/03/2007, 15h41
  5. Insertion impossible a cause de l'IDENTITY_INSERT
    Par oli_carbo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/03/2006, 14h24

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