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 :

Refus de mise à jour sans message d'erreur [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Points : 85
    Points
    85
    Par défaut Refus de mise à jour sans message d'erreur
    Bonjour à tous et à toutes,

    Pour cadrer un petit peu le contexte, je viens d'arriver dans une nouvelle entreprise, startup de call-center en assurance, dans le service IT.

    2 étapes dans la gestion des données: la partie call qui permet les ventes, et la partie service client qui assure le suivi au quotidien.

    Base de données MS SQL Server 2008 r2.

    J'ai une table ADHESIONS qui prend la structure suivante:

    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
     
    CREATE TABLE [dbo].[ADHESIONS](
    	[Code_action] [nvarchar](1) NULL,
    	[Num_dossier] [nvarchar](12) NOT NULL,
    	[Statut_adhesion] [nvarchar](20) NULL,
    	[Civilite] [nvarchar](1) NULL,
    	[Nom] [nvarchar](24) NULL,
    	[NomJF] [nvarchar](24) NULL,
    	[Prenom] [nvarchar](24) NULL,
    	[DateNaissance] [nvarchar](10) NULL,
    	[TrancheAge] [nvarchar](5) NULL,
    	[Adr1] [nvarchar](40) NULL,
    	[Adr2] [nvarchar](40) NULL,
    	[Adr3] [nvarchar](40) NULL,
    	[Adr4] [nvarchar](40) NULL,
    	[CP] [nvarchar](5) NULL,
    	[Ville] [nvarchar](24) NULL,
    	[Telephone1] [nvarchar](10) NULL,
    	[Telephone2] [nvarchar](10) NULL,
    	[BIC] [nvarchar](12) NULL,
    	[IBAN] [nvarchar](27) NULL,
    	[Code_fournisseur] [nvarchar](2) NULL,
    	[CodeMarketing] [nvarchar](7) NULL,
    	[IJ_Maladie] [nvarchar](6) NULL,
    	[IJ_Accident] [nvarchar](6) NULL,
    	[Date_adhesion] [nvarchar](8) NULL,
    	[Date_effet_changement_option] [nvarchar](8) NULL,
    	[MontantCotisation] [nvarchar](6) NULL,
    	[Conjoint] [nvarchar](3) NULL,
    	[ID_Conjoint] [nvarchar](12) NULL,
    	[Civilite_conjoint] [nvarchar](5) NULL,
    	[Nom_conjoint] [nvarchar](24) NULL,
    	[Nom_JF_conjoint] [nvarchar](24) NULL,
    	[Prenom_conjoint] [nvarchar](24) NULL,
    	[DateNaissance_conjoint] [nvarchar](10) NULL,
    	[TrancheAge_conjoint] [nvarchar](5) NULL,
    	[IJ_Maladie_conjoint] [nvarchar](6) NULL,
    	[IJ_Accident_conjoint] [nvarchar](6) NULL,
    	[Cotis_conjoint] [nvarchar](6) NULL,
    	[Date_adhesion_conjoint] [nvarchar](8) NULL,
    	[Date_effet_changement_option_conjoint] [nvarchar](8) NULL,
    	[Date_resil_conjoint] [nvarchar](8) NULL,
    	[Motif_resil_conjoint] [nvarchar](3) NULL,
    	[Nb_Enfants] [nvarchar](2) NULL,
    	[IJ_Maladie_Enfant] [nvarchar](6) NULL,
    	[IJ_Accident_Enfant] [nvarchar](6) NULL,
    	[Cotis_enfant] [nvarchar](6) NULL,
    	[ID_Enfant1] [nvarchar](12) NULL,
    	[NomEnfant1] [nvarchar](24) NULL,
    	[PrenomEnfant1] [nvarchar](24) NULL,
    	[DateNaisEnfant1] [nvarchar](10) NULL,
    	[DateAdhesionEnfant1] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant1] [nvarchar](8) NULL,
    	[DateResilEnfant1] [nvarchar](8) NULL,
    	[MotifResilEnfant1] [nvarchar](3) NULL,
    	[ID_Enfant2] [nvarchar](12) NULL,
    	[NomEnfant2] [nvarchar](24) NULL,
    	[PrenomEnfant2] [nvarchar](24) NULL,
    	[DateNaisEnfant2] [nvarchar](10) NULL,
    	[DateAdhesionEnfant2] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant2] [nvarchar](8) NULL,
    	[DateResilEnfant2] [nvarchar](8) NULL,
    	[MotifResilEnfant2] [nvarchar](3) NULL,
    	[ID_Enfant3] [nvarchar](12) NULL,
    	[NomEnfant3] [nvarchar](24) NULL,
    	[PrenomEnfant3] [nvarchar](24) NULL,
    	[DateNaisEnfant3] [nvarchar](10) NULL,
    	[DateAdhesionEnfant3] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant3] [nvarchar](8) NULL,
    	[DateResilEnfant3] [nvarchar](8) NULL,
    	[MotifResilEnfant3] [nvarchar](3) NULL,
    	[ID_Enfant4] [nvarchar](12) NULL,
    	[NomEnfant4] [nvarchar](24) NULL,
    	[PrenomEnfant4] [nvarchar](24) NULL,
    	[DateNaisEnfant4] [nvarchar](10) NULL,
    	[DateAdhesionEnfant4] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant4] [nvarchar](8) NULL,
    	[DateResilEnfant4] [nvarchar](8) NULL,
    	[MotifResilEnfant4] [nvarchar](3) NULL,
    	[ID_Enfant5] [nvarchar](12) NULL,
    	[NomEnfant5] [nvarchar](24) NULL,
    	[PrenomEnfant5] [nvarchar](24) NULL,
    	[DateNaisEnfant5] [nvarchar](10) NULL,
    	[DateAdhesionEnfant5] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant5] [nvarchar](8) NULL,
    	[DateResilEnfant5] [nvarchar](8) NULL,
    	[MotifResilEnfant5] [nvarchar](3) NULL,
    	[ID_Enfant6] [nvarchar](12) NULL,
    	[NomEnfant6] [nvarchar](24) NULL,
    	[PrenomEnfant6] [nvarchar](24) NULL,
    	[DateNaisEnfant6] [nvarchar](10) NULL,
    	[DateAdhesionEnfant6] [nvarchar](8) NULL,
    	[Date_effet_changement_option_Enfant6] [nvarchar](8) NULL,
    	[DateResilEnfant6] [nvarchar](8) NULL,
    	[MotifResilEnfant6] [nvarchar](3) NULL,
    	[Site] [nvarchar](5) NULL,
    	[Email] [nvarchar](60) NULL,
    	[SituationFam] [nvarchar](1) NULL,
    	[Profession] [nvarchar](1) NULL,
    	[Formule] [nvarchar](1) NULL,
    	[DatePrelev] [nvarchar](2) NULL,
    	[MontantTotalPrelev] [nvarchar](6) NULL,
    	[Gratuite1mois] [nvarchar](3) NULL,
    	[GratuiteParrain] [nvarchar](3) NULL,
    	[MoisGratuitParrain] [nvarchar](6) NULL,
    	[NbCotImpayés] [nvarchar](1) NULL,
    	[DateEffetResiliation] [nvarchar](8) NULL,
    	[MotifResiliation] [nvarchar](3) NULL,
    	[TAName] [nvarchar](30) NULL,
    	[FichierAudio] [nvarchar](30) NULL,
    	[Date_Envoi] [nvarchar](8) NULL,
    	[Campagne] [nvarchar](50) NULL,
    	[Mutuelle] [nvarchar](50) NULL,
    	[TypeMutuelle] [nvarchar](50) NULL,
    	[NomReporting] [nvarchar](50) NULL,
    	[NomFichier] [nvarchar](80) NULL,
    	[Banque] [nvarchar](200) NULL,
    	[NumProduit] [nvarchar](3) NOT NULL,
    	[Assistance] [nvarchar](3) NULL,
    	[Dependance_Totale] [nvarchar](6) NULL,
    	[Dependance_Partielle] [nvarchar](6) NULL,
    	[Dependance_Totale_conjoint] [nvarchar](6) NULL,
    	[Dependance_Partielle_conjoint] [nvarchar](6) NULL,
    PRIMARY KEY CLUSTERED 
    (
    	[NumProduit] ASC,
    	[Num_dossier] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 100) ON [PRIMARY]
    ) ON [PRIMARY]
    (Précision immédiate: je ne suis pour rien dans la structure de la table, et si ça dépendait de moi, je tablerais plutôt dans l'atomicité de la base, mais la décision ne m'appartenant pas, bien obligé de faire avec.)

    Mon problème est le suivant: suite à un courrier d'un client, une modification est nécessaire dans sa fiche d'adhésion pour supprimer une option, ce qui implique un allègement de la cotisation du client.

    Il s'agit de Date_effet_changement_option_conjoint qui reprent la date en chaine de caractères au format AAAAMMJJ.

    Pas de contrainte sur cette colonne, il ne s'agit pas d'une intégrité référentielle (absentes de la DB de toutes façons).

    La valeur du champ pour le client en question est 20140801.
    Que j'essaye d'updater avec la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE ADHESIONS
    SET Date_effet_changement_option_conjoint = '20150613'
    WHERE Num_dossier = '5042587'
    Tout simple donc, sachant que je suis connecté en direct sur la base (c'est pour déboguer un problème rencontré par un utilisateur ce matin même).

    Mais SQL Server me dit (0 row(s) affected) sans aucune autre information.

    Du coup, j'ai essayé de modifier cette même colonne pour un autre client: update correctement fait.
    De la même manière, j'ai essayé de modifier le nom de ce client, pour le test, et ça passe sans problème non plus.

    Mais cette ligne et cette colonne, impossible de mettre à jour.


    Je ne vois absolument pas d'où le problème peut bien venir, si quelqu'un a des pistes à me suggérer que je puisse fouiller ?

    Merci d'avance,
    Cordialement,
    Thomas

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet BI
    Inscrit en
    Août 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet BI

    Informations forums :
    Inscription : Août 2013
    Messages : 42
    Points : 82
    Points
    82
    Par défaut
    Salut, ça semble idiot mais as tu un résultat à cette requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM ADHESIONS
    WHERE Num_dossier = '5042587'
    Si ton update fonctionne sur un autre dossier c'est que le soucis vient du premier dossier et pas de l'instruction.

    Jonathan

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par III Jonathan III Voir le message
    Salut, ça semble idiot mais as tu un résultat à cette requête ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM ADHESIONS
    WHERE Num_dossier = '5042587'
    Si ton update fonctionne sur un autre dossier c'est que le soucis vient du premier dossier et pas de l'instruction.

    Jonathan
    Ca me renvoie bien la ligne correspondante au dossier du client. Je m'étais fait la même réflexion, du coup, mon script SQL complet ressemble à ça:

    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
     
    -- Date_effet_changement_option_conjoint => 20140801
    SELECT Num_dossier, Nom, Prenom, Date_effet_changement_option_conjoint
    FROM ADHESIONS
    WHERE Num_Dossier = '5042857'
     
    -- Modification de la Date_effet_changement_option_conjoint
    UPDATE ADHESIONS
    SET Date_effet_changement_option_conjoint = '20150613'
    WHERE Num_dossier = '5042587'
     
    -- Date_effet_changement_option_conjoint normallement devrait être 20150613
    SELECT Num_dossier, Nom, Prenom, Date_effet_changement_option_conjoint
    FROM ADHESIONS
    WHERE Num_Dossier = '5042857'
    Histoire de voir s'il se produisait une variation. Mais non, rien, nada.
    Le retour de SQL Server pour ce script est le suivant:

    (1 row(s) affected)

    (0 row(s) affected)

    (1 row(s) affected)

  4. #4
    Membre régulier
    Homme Profil pro
    Chef de projet BI
    Inscrit en
    Août 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet BI

    Informations forums :
    Inscription : Août 2013
    Messages : 42
    Points : 82
    Points
    82
    Par défaut
    J'ai trouvé, c'est pas exactement le même numéro de dossier

    Dans l'update tu as 5042587 et dans le select 5042857

  5. #5
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    OMFG !!!!

    Mais comment j'ai pu laisser passer ça :o

    Bon, ok, super, un grand grand merci pour le coup de main Jonathan, tu viens de me débloquer quasi toute l'aprem là.

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

Discussions similaires

  1. mise à jour d'une JTable => erreur aléatoire
    Par AliLoU` dans le forum Composants
    Réponses: 2
    Dernier message: 30/03/2007, 15h11
  2. [VBA-E]Détection de feuilles inexistantes sans message d'erreur
    Par Jipété dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2006, 08h39
  3. Réponses: 2
    Dernier message: 25/09/2006, 17h24
  4. Réponses: 4
    Dernier message: 02/05/2006, 12h08
  5. "try...except" sans message d'erreur
    Par SchpatziBreizh dans le forum Langage
    Réponses: 4
    Dernier message: 12/07/2005, 09h50

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