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

Développement SQL Server Discussion :

Access to ms sql server probleme SSMA_CC


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Points : 79
    Points
    79
    Par défaut Access to ms sql server probleme SSMA_CC
    Bonjour a tous
    Je vous expose mon probleme

    Je suis actuellement sur la transcription d'un lociciel basé sur access vers sql server
    jusque la tout allais bien mais depuis 2 jour je bloque sur deux resuettes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     INSERT INTO Commande ( [N°Cde], CodeFourn, DT, BasCde, Signataire, Emetteur, AdresseLivraison, AdresseFacturation, CptSiteStockage,  LibelModLiv, LibCondPaiement, CptDeviseFourn, TpeCde, ImputBon, NivAffec, Remarque, CptQui ) values ('09BC00012',30,0,'','Service Technique','Admin','','',0,'','','1',2,19629,1370,'Veuillez respecter les conditions tarifaires et les délais de livraison',69)
    La requete en elle meme passe tres bien sous l'editeur de requette access mais sous sql server il y a un probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Msg*547, Niveau*16, État*0, Ligne*1
    L'instruction INSERT est en conflit avec la contrainte CHECK 'SSMA_CC$Commande$BasCde$disallow_zero_length'. Le conflit s'est produit dans la base de données 'riodata', table 'dbo.Commande', column 'BasCde'.
    L'instruction a été arrêtée.
    Pour info j'ai utilisé SSMA pour passé de access vers sql

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Bonjour,
    Est il possible d'avoir le script de création de la table avec la définition des contraintes d'intégrité. Car visiblement il y a un soucix avec la chaine vide fournie pour la colonne BasCde

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Points : 79
    Points
    79
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    USE [riodata]
    GO
    /****** Objet*:  Table [dbo].[Commande]    Date de génération du script*: 03/31/2009 14:24:10 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[Commande](
    	[CptCde] [int] IDENTITY(1,1) NOT NULL,
    	[N°Cde] [nvarchar](15) COLLATE French_CI_AS NULL,
    	[Réf] [nvarchar](20) COLLATE French_CI_AS NULL,
    	[DT] [datetime] NULL,
    	[CodeFourn] [int] NULL,
    	[Edité] [bit] NULL DEFAULT ((0)),
    	[Soldé] [bit] NULL DEFAULT ((0)),
    	[ArticleReçu] [bit] NULL DEFAULT ((0)),
    	[BasCde] [nvarchar](max) COLLATE French_CI_AS NULL,
    	[Remarque] [nvarchar](max) COLLATE French_CI_AS NULL,
    	[Signataire] [nvarchar](20) COLLATE French_CI_AS NULL,
    	[Emetteur] [nvarchar](50) COLLATE French_CI_AS NULL,
    	[ValeurLivrée] [money] NULL,
    	[DateRelance] [datetime] NULL,
    	[CodeImputation] [int] NULL,
    	[NivAffec] [int] NULL,
    	[TypeImputation] [tinyint] NULL,
    	[AdresseLivraison] [int] NULL,
    	[AdresseFacturation] [int] NULL,
    	[CptSiteStockage] [int] NULL,
    	[LibelModLiv] [nvarchar](60) COLLATE French_CI_AS NULL,
    	[LibCondPaiement] [nvarchar](60) COLLATE French_CI_AS NULL,
    	[Franco] [nvarchar](60) COLLATE French_CI_AS NULL,
    	[RéceptionTotale] [bit] NULL DEFAULT ((0)),
    	[CodeFamilleImputation] [int] NULL,
    	[Validée] [bit] NULL DEFAULT ((0)),
    	[Màj] [bit] NULL DEFAULT ((0)),
    	[CptDeviseFourn] [int] NULL,
    	[Facturé] [bit] NULL DEFAULT ((0)),
    	[ImputBon] [int] NULL,
    	[ValTVA] [float] NULL DEFAULT ((0)),
    	[CptImputation1] [int] NULL DEFAULT ((0)),
    	[CptImputation2] [int] NULL DEFAULT ((0)),
    	[FlagR] [nvarchar](50) COLLATE French_CI_AS NULL,
    	[DtRéception] [datetime] NULL,
    	[TpeCde] [tinyint] NULL DEFAULT ((1)),
    	[Commentaires] [nvarchar](max) COLLATE French_CI_AS NULL,
    	[CptQui] [smallint] NULL DEFAULT ((0)),
    	[Destinataire] [nvarchar](255) COLLATE French_CI_AS NULL,
    	[SSMA_TimeStamp] [timestamp] NOT NULL,
     CONSTRAINT [Commande$PrimaryKey] PRIMARY KEY CLUSTERED 
    (
    	[CptCde] ASC
    )WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$BasCde$disallow_zero_length] CHECK  ((len([BasCde])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$BasCde$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Commentaires$disallow_zero_length] CHECK  ((len([Commentaires])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$Commentaires$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Emetteur$disallow_zero_length] CHECK  ((len([Emetteur])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$Emetteur$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$FlagR$disallow_zero_length] CHECK  ((len([FlagR])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$FlagR$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Franco$disallow_zero_length] CHECK  ((len([Franco])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$Franco$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$LibCondPaiement$disallow_zero_length] CHECK  ((len([LibCondPaiement])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$LibCondPaiement$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$LibelModLiv$disallow_zero_length] CHECK  ((len([LibelModLiv])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$LibelModLiv$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$N°Cde$disallow_zero_length] CHECK  ((len([N°Cde])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$N°Cde$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Réf$disallow_zero_length] CHECK  ((len([Réf])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$Réf$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Remarque$disallow_zero_length] CHECK  ((len([Remarque])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK CONSTRAINT [SSMA_CC$Commande$Remarque$disallow_zero_length]
    GO
    ALTER TABLE [dbo].[Commande]  WITH CHECK ADD  CONSTRAINT [SSMA_CC$Commande$Signataire$disallow_zero_length] CHECK  ((len([Signataire])>(0)))
    GO
    ALTER TABLE [dbo].[Commande] CHECK
    Voila

  4. #4
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    Dans votre table vous définissez la contrainte d'intégrité suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ALTER TABLE [dbo].[Commande]  WITH CHECK 
    ADD  CONSTRAINT [SSMA_CC$Commande$BasCde$disallow_zero_length]
     CHECK  ((len([BasCde])>(0)))
    Donc si une valeur est présente dans la colonne BasCde sa longueur doit être strictement supérieure à zéro.
    Dans votre script d'insertion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO Commande ( [N°Cde], CodeFourn, DT, BasCde, Signataire, Emetteur, AdresseLivraison, AdresseFacturation, CptSiteStockage,  LibelModLiv, LibCondPaiement, CptDeviseFourn, TpeCde, ImputBon, NivAffec, Remarque, CptQui ) 
    VALUES ('09BC00012',30,0,'','Service Technique','Admin','','',0,'','','1',2,19629,1370,'Veuillez respecter les conditions tarifaires et les délais de livraison',69)
    vous fournissez la valeur '' (soit une chaine de zéro caractère) comme valeur pour la colonne BasCde. Il est donc normal d'avoir une violation de contrainte d'intégrité. POur ne fournir aucune valeur il faut préciser NULL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO Commande ( [N°Cde], CodeFourn, DT, BasCde, Signataire, Emetteur, AdresseLivraison, AdresseFacturation, CptSiteStockage,  LibelModLiv, LibCondPaiement, CptDeviseFourn, TpeCde, ImputBon, NivAffec, Remarque, CptQui ) 
    VALUES ('09BC00012',30,0,NULL,'Service Technique','Admin','','',0,'','','1',2,19629,1370,'Veuillez respecter les conditions tarifaires et les délais de livraison',69)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Points : 79
    Points
    79
    Par défaut
    Merci cela marche tres bien

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

Discussions similaires

  1. [SQL Server] problème de classement, calcul d'un rang
    Par lepeule dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/10/2019, 10h31
  2. Probleme de migration Delphi/Access vers Delphi/SQL Server
    Par burkan dans le forum Bases de données
    Réponses: 6
    Dernier message: 26/01/2011, 18h05
  3. [SQL Server] Probleme avec not exists
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2006, 16h51
  4. importation données d'un fichier access au ms sql server
    Par timsah dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/01/2006, 12h40
  5. Migration Access 97 vers SQL Server + Access Run Time
    Par KiDiBoo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/10/2005, 09h05

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