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

ASP.NET Discussion :

Probleme de mise à jour d'une table sous SQL Server 2000


Sujet :

ASP.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Probleme de mise à jour d'une table sous SQL Server 2000
    Bonjour,

    je suis novice en developpement sous ASP .net (VB.net).
    J'utilise l'environnement de developpement Visual Web Developer 2008 Express Edition.
    Je travail avec le SGBD SQL Server 2000.

    Voila mon probleme:
    Lorsque je souhaite mettre à jour, insérer ou supprimer des données dans une table (SQL Server 2000) j'ai le message d'erreur suivant:

    UPDATE a échoué car les options SET suivantes comportent des paramètres incorrects : 'ARITHABORT'.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: UPDATE a échoué car les options SET suivantes comportent des paramètres incorrects : 'ARITHABORT'.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.

    Trace de la pile:


    [SqlException (0x80131904): UPDATE a échoué car les options SET suivantes comportent des paramètres incorrects : 'ARITHABORT'.]
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +925466
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800118
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
    System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +404
    System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +721
    System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +78
    System.Web.UI.WebControls.DetailsView.HandleUpdate(String commandArg, Boolean causesValidation) +1152
    System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +440
    System.Web.UI.WebControls.DetailsView.OnBubbleEvent(Object source, EventArgs e) +95
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.DetailsViewRow.OnBubbleEvent(Object source, EventArgs e) +109
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
    System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +115
    System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +132
    System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +177
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
    Quelqu'un peu-t-il m'aider à comprendre ce message?
    Merci d'avance pour votre aide

  2. #2
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Bonjour,

    j'ai trouvé ça :

    http://msdn.microsoft.com/fr-fr/libr...6(SQL.90).aspx

    j'espère que ça va t'aider.

    bonne courage

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 754
    Points
    39 754
    Par défaut
    Citation Envoyé par Redouane Voir le message
    Autrement dit l'erreur est provoquée par une erreur arithmétique, par exemple une division par zéro, ou encore un calcul qui a donné une valeur trop grande (overflow)

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Redouane et Tomlev pour vos réponses rapides.

    En m'aidant de vos conseils je pense avoir identifié l'origine de mon problème, bien que je n'ai pas encore de solution.
    Voici ce que j'ai observé:

    Dans la table que j'essaye de mettre à jour (mise à jour /insertion ou suppression) il y a des champs qui sont de type "varbinary".

    L'exécution d'une requête (de mise à jour, insertion ou suppression) me renvoie l'erreur suivante (je n'ai pas mis l'integralité du texte de l'erreur): Les champs mentionnés dans l'erreur sont tous de type "varbinary".
    Détails de l'exception: System.Data.SqlClient.SqlException: La colonne 'cbCT_Num' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCG_NumPrinc' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCT_Classement' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCT_CodePostal' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCT_Raccourci' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCT_NumPayeur' ne peut pas être modifiée parce qu'elle calculée.
    La colonne 'cbCA_Num' ne peut pas être modifiée parce qu'elle calculée.
    Quand j'affiche le contenu de la table (contenant entre autres ces champs) dans Visual Web Develloper 2008 ou dans le SQL Server Entreprise Manager, ces champs (type "varbinary") contiennent la valeur "<Données binaires>".

    Dans la page web (default.aspx) qui me sert à mettre à jour cette table, j'utilise un contrôle de type "DetailsView". Lorsque j'exécute la page web (dans un navigateur) et que je me met en mode édition, les champs en question (type "varbinary" contiennent la valeur par défaut "System.Byte[]".

    Si c'est bien ça le problème, ma question est: comment puis-je mettre à jour, insérer ou supprimer une ligne dans cette table (contenant les champs types "varbinary") en respectant l'intégrité de ces champs.

    Jaouab

  5. #5
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Bonjour,

    Il faut que tu sache que les colonnes calculées sont des colonnes virtuelles qui ne sont pas stockées physiquement dans la table.
    ils sont calculée à partir d'une expression qui peut être un nom de colonne non calculée, une fonction ou qlq chose d'autre.
    Les valeurs des colonnes calculées sont recalculées chaque fois qu'elles sont référencées dans une requête.

    --> Et l'important c'est que'une colonne calculée ne peut pas être la cible d'une instruction INSERT ou UPDATE.

    Je pense, qu'il faut que tu cherche les expressions avec quoi tes colonnes ils sont calculées, et c'est ces expressions que tu dois mettre à jour.

    bah, t'as cet article qui explique un peu c'est quoi une colonne calculée :

    http://msdn.microsoft.com/fr-fr/library/ms191250.aspx

    Bonne courage

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/04/2008, 09h54
  2. Mise à jour d'une table sous conditions
    Par Jean-Luc80 dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/11/2007, 10h56
  3. tableau dynamique via une table sous sql server
    Par bibi2607 dans le forum ASP
    Réponses: 5
    Dernier message: 21/02/2005, 15h45
  4. Mettre à jour une base sous SQL SERVER 2000
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/02/2005, 12h24
  5. MAJ d'une table sous SQL Server par insertion
    Par keish dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/06/2003, 16h23

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