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 :

enorme probleme sql server 2008(Réponse serveur)


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 15
    Points
    15
    Par défaut enorme probleme sql server 2008(Réponse serveur)
    Bonjour,
    Je me dirige vers vous espérant trouver un solution à mon énorme problème.
    Je vous l'explique.
    Je développe une application en utilisant c#, Sql server 2008, ExtJS sur une VM
    Quand je lance plusieurs requetes, j'ai parfois des résultats incohérents. Par exemple. pour afficher dans un tableaux, j'utilise cette fonction
    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
    //ConnectBDD cc = new ConnectBDD();
            SqlConnection sqlCon = new SqlConnection();
            sqlCon.ConnectionString = "Trusted_Connection=yes;Server=" + WebConfigurationManager.AppSettings["connBdMd_server"] + ";Initial Catalog=" + WebConfigurationManager.AppSettings["connBdMd_db"] + ";uid=" + WebConfigurationManager.AppSettings["connBdMd_user"] + ";password=" + WebConfigurationManager.AppSettings["connBdMd_pwd"];
     
            try
            {
                sqlCon.Open();
               // cc.open();
     
     
                SqlCommand query22 = new SqlCommand("select distinct OM.idOM, OM.libelleOM, OM.numFicheOM, OM.refOM, cast(OM.dateCreaOM as char(10)) dateCreaOM , cast(OM.dateValideOM as CHAR(10)) dateValidOM, "
                                        + "umd.nomUtilisateurMD libAuteur, histo.nomHistorisation libHistorisation, fraich.nomFraicheur libFraicheur, Statut.nomStatut libStatut, "
                                        + "OM.regleGestionOM, OM.regleObtentionOM, OM.uniteOM, FormatOM.nomFormatOM libFormat, SFD.libelleSFD libSFD, "
                                        + "TypeOM.nomTypeOM libType, TypeOM.idTypeOM , "
                                        + "case "
    	                                    + "when OM.idTypeOM = 1 and OM.idThemeOM is not null "
    		                                    + "then Theme.nomTheme "
    	                                    + "when OM.idTypeOM = 2 and OM.idAxeOM is not null "
    		                                    + "then Axe.nomAxe "
    	                                    + "else null "
                                        + "end libThemeAxe "
                                        + "from OM "
                                        + "join OMHasApplication OMa on OMa.idOM = OM.idOM "
                                        + "join Application app on app.idApplication = OMa.idApplication "
                                        + "left join UtilisateurMD umd on umd.idUtilisateurMD = OM.idAuteurOM "
                                        + "left join Historisation histo on histo.idHistorisation = OM.idHistorisationOM "
                                        + "left join Fraicheur fraich on fraich.idFraicheur = OM.idFraicheurOM "
                                        + "left join Statut on Statut.idStatut = OM.idStatutOM "
                                        + "left join SFD on OM.idSFD = SFD.idSFD "
                                        + "left join FormatOM on FormatOM.idFormatOM = OM.idFormatOM "
                                        + "left join TypeOM on TypeOM.idTypeOM = OM.idTypeOM "
                                        + "left join Theme on Theme.idTheme = OM.idThemeOM "
                                        + "left join Axe on Axe.idAxe = OM.idAxeOM "
                                        + "where "
                                        + "OMa.idApplication in "
                                        + "( "
    	                                    + "select gha.applicationIdApplication from UtilisateurMDHasGroupeMD uhg, GroupeMDHasApplication gha "
    	                                    + "where uhg.utilisateurMDIdUtilisateurMD = " +  idUser + " and uhg.groupeMDIdGroupeMD = gha.groupeMDIdGroupeMD "
    	                                    + "union "
    	                                    + "select uha.applicationIdApplication  FROM UtilisateurMDHasApplication uha "
    	                                    + "where uha.utilisateurMDIdUtilisateurMD = " + idUser + " "
                                        + ") "
                                        + "and (OM.idAuteurOM = " + idUser + " or OM.idStatutOM = 5) "
                                        + "order by OM.libelleOM", sqlCon /* cc.getConnection()*/);
     
                DataTable dt22 = new DataTable();
                dt22.Load(query22.ExecuteReader());
     
     
                Response.Write("{\"success\":true, \"results\":" + JsonConvert.SerializeObject(dt22) + "}");
            }
            catch (Exception e)
            {
                Response.Write("{\"failure\":true, \"message\":\"" + e.Message + "\"}");
            }
            finally
            {
                sqlCon.Close();
               // cc.close();
            }
    Le resultat que je dois avoir est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"success":true, "results":[{"idOM":11,"libelleOM":"azertyuiop","numFicheOM":null,"refOM":"atyuiopmlkjhgfdsq","dateCreaOM":"2011-07-31","dateValidOM":null,"libAuteur":"aa","libHistorisation":"historisation 1","libFraicheur":"fraicheur 1","libStatut":"Brouillon","regleGestionOM":"dvb vcxbvc","regleObtentionOM":"xcvbxvcb","uniteOM":"argennnt !!","libFormat":"euros","libSFD":"HHHHHHHHHHHH","libType":"Critère d'analyse","idTypeOM":2,"libThemeAxe":"Axe 2 demo"},{"idOM":2,"libelleOM":"libellé","numFicheOM":null,"refOM":"","dateCreaOM":"2011-07-29","dateValidOM":null,"libAuteur":"LOPES","libHistorisation":"historisation 1","libFraicheur":"fraicheur 1","libStatut":"En production","regleGestionOM":"sdqfsdqfsqdf","regleObtentionOM":"fqsdfsdq","uniteOM":"fsdqfsdqf","libFormat":"2 decimale","libSFD":"SFD 3.1","libType":"Critère d'analyse","idTypeOM":2,"libThemeAxe":"Axe 2 demo"},{"idOM":12,"libelleOM":"OBJ ME CA pour les nuls","numFicheOM":null,"refOM":"","dateCreaOM":"2011-07-31","dateValidOM":null,"libAuteur":"aa","libHistorisation":null,"libFraicheur":null,"libStatut":"En cours","regleGestionOM":"xdxxx","regleObtentionOM":"xxx","uniteOM":"","libFormat":"2 decimale","libSFD":"HHHHHHHHHHHH","libType":"Critère d'analyse","idTypeOM":2,"libThemeAxe":null},{"idOM":14,"libelleOM":"OM LIER A TEST TOTO","numFicheOM":null,"refOM":"REF","dateCreaOM":"2011-08-01","dateValidOM":null,"libAuteur":"aa","libHistorisation":"historisation 1","libFraicheur":"fraicheur 1","libStatut":"En cours","regleGestionOM":"","regleObtentionOM":"","uniteOM":"ARGENT !!!!","libFormat":"euros","libSFD":"HHHHHHHHHHHH","libType":"Critère d'analyse","idTypeOM":2,"libThemeAxe":"Axe 2 demo"},{"idOM":13,"libelleOM":"petit objet","numFicheOM":null,"refOM":"","dateCreaOM":"2011-07-31","dateValidOM":null,"libAuteur":"aa","libHistorisation":null,"libFraicheur":null,"libStatut":"En cours","regleGestionOM":"","regleObtentionOM":"","uniteOM":"","libFormat":"2 decimale","libSFD":"HHHHHHHHHHHH","libType":"Indicateur","idTypeOM":1,"libThemeAxe":"Theme 1 "}]}
    Le probleme est que parfois j'ai le resultat de cette requete ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     SqlCommand query = new SqlCommand();
            query.Connection = bdd.getConnection();
     
           query.CommandText = "Select idTypeOM FROM OM WHERE idOM = " + idOM;
     
            query.Connection.Open();// bdd.open();
     
            DataSet ds = new DataSet();
            ds.Tables.Add("data");
            ds.Tables["data"].Load(query.ExecuteReader());
            if (ds.Tables["data"].Rows[0]["idTypeOM"] == "1")
            {...}
    Quelqu'un pourrait mexpliquer comment sqlserver me renvoi des resultats des autres requêtes?
    J'espère que j'étais clair.

    Merci d'avance de vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    N'avez vous pas un dataset ou autre objet de ce genre qui ne serait pas initialisé correctement entre les 2 appels ?

    ++

  3. #3
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    L'erreur ne vient évidemment pas de SQL SERVER mais de votre code qui est buggé!
    Surveillez la manière dont sont effectués les appels ajax...
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

Discussions similaires

  1. [2008] Creation base de donnée probleme sql server 2008
    Par karimot dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/12/2013, 13h48
  2. Réponses: 1
    Dernier message: 27/07/2009, 11h45
  3. Serveur lié sur sql server 2008
    Par bruno.durand dans le forum Développement
    Réponses: 2
    Dernier message: 11/03/2009, 13h49
  4. Probleme de Connexion SQL server 2008 & VB 2008
    Par kashomi dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/11/2008, 09h31
  5. PROBLEME D'INSTALLATION DE SQL SERVER 2008
    Par mayce dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/06/2008, 12h55

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