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

VB.NET Discussion :

[VB.net] probleme timeout


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut [VB.net] probleme timeout
    Bonjour,

    j'ai un souci qui me renvoie sur une erreur exception :

    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
     Private Function BuildCmdDetDist(ByVal connDist As SqlConnection) As SqlCommand
           
            Dim sqlCmdDetDist As SqlCommand = Nothing
            sqlCmdDetDist.CommandTimeout = Convert.ToInt32(App.Singleton.Timeout)
            sqlCmdDetDist = connDist.CreateCommand()
            sqlCmdDetDist.CommandText = "InventListeDetailMaj"
            sqlCmdDetDist.CommandType = CommandType.StoredProcedure
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@codemaj", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@bEdit", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@utilisateur", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@datemaj", SqlDbType.DateTime))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@code", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@codeListe", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@typeItem", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@code1", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@code2", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@code3", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@libelle", SqlDbType.VarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@rattCode", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@rattOrigine", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@qteOrigine", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@qteSaisie", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@bmodifiable", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@baffectation", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin", SqlDbType.NVarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin1", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin2", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin3", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin4", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin5", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin6", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin7", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin8", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin9", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@chemin10", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@rattStock", SqlDbType.Int))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@codeStock", SqlDbType.NVarChar))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@prixAchat", SqlDbType.Decimal))
            sqlCmdDetDist.Parameters.Add(New SqlParameter("@qteStock", SqlDbType.Int))
    
            sqlCmdDetDist.Parameters("@codemaj").Value = "S"
            sqlCmdDetDist.Parameters("@bEdit").Value = 0
            sqlCmdDetDist.Parameters("@utilisateur").Value = App.Singleton.Login
    
      Return sqlCmdDetDist
        End Function
    Le problème est que mon application plante sur cette ligne et me renvoie un message de type "NullReferenceException".

    Le Convert.ToInt32(App.Singleton.Timeout) est égal à "60" en string, et 60 avec le convert

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim sqlCmdDetDist As SqlCommand = Nothing
    Il faut peut être instancié ton objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim sqlCmdDetDist As New SqlCommand
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim sqlCmdDetDist As New SqlCommand(taRequete, connDist)

  3. #3
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    là n'est pas le probleme, puisque quand je commente la ligne en rouge, cela fonctionne correctement

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    Si en commentant ta ligne, ton code passe, c'est que ton objet est instanciée par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlCmdDetDist = connDist.CreateCommand()
    Tu verras que si tu règles ton CommandTimeout après cette ligne, tu n'auras pas d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim sqlCmdDetDist As SqlCommand = Nothing
    sqlCmdDetDist = connDist.CreateCommand()
    sqlCmdDetDist.CommandTimeout = Convert.ToInt32(App.Singleton.Timeout)

  5. #5
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    si justement

    bon désolé de ne pas avoir dit que ça le faisait aussi après l'avoir écrit derrière le CreatCommand.

    Un ami m'a dit que cela pourrait être lié à l'utilisateur, au niveau des droits sur le serveur.
    Se pourrait il que l'utilisateur ne puisse pas modifier la variable timeout d'une commande ? y'a t'il des droits spéciaux ?

    mon chef veut que je mette à disposition des clients un champ pour modifier le timeout au cas ou il y'ait de grosses requetes parcequ'ils ont eu des erreurs au chargement de certaines lists a l'aide de requetes et donc mon chef a pensé, hum probleme timeout, peut etre qu'en modifiant la valeur, ça plantera pas

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    J'ai incorporé un CommandTimeout dans mon code. Je n'ai pas eu de problèmes.
    Questions :
    Est-ce que tu peux essayer le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim sqlCmdDetDist As SqlCommand = Nothing
    sqlCmdDetDist = connDist.CreateCommand()
    Dim temp as integer = Convert.ToInt32(App.Singleton.Timeout)
    sqlCmdDetDist.CommandTimeout = 60
    C'est juste pour voir si le problème vient de la conversion ou si elle vient de "sqlCmdDetDist.CommandTimeout".
    Si elle vient de la conversion, est tu sûr de la valeur de de App.Singleton.Timeout, à l'éxecution.

  7. #7
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    Autre élément de ma part :

    Effectivement cela fonctionne correctement.
    Le truc c'est que j'ai 2 éléments de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Function BuildCmdDetDist(ByVal connDist As SqlConnection) As SqlCommand
    qui fonctionnent bien

    et 2 autres en SqlCeCommand.

    J'utilise le même procédé sauf que ça déconne sur le Ce.


    Mon appli est une appli lecteur code barres pour inventorier des biens/produits.
    j'ai un pda qui se connecte à la BDD Pc en distant, et le pda a également sa propre BDD en local.

    Et si ça déconne au niveau du SqlCEcommand, c'est lorsque j'essaie de reprendre les éléments du PC vers le pda


    edit : en écrivant 60 en dur, toujours le même problème

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 94
    Par défaut
    Dans ce cas, je ne vois pas. C'est peut-être les droits.
    Si tu ne modifie pas le timeout, tes requêtes passent-t'elles sur cette base ?
    La BDD autorise t'elle les connexions à distance ?
    Quelle base de données utilises-tu ?
    regardes dans les options de ta base pour voir si tu n'as pas un paramètres qui bloquent ce point.

  9. #9
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    si je ne mets pas la ligne du timeout, tout fonctionne correctement.

    C'est mon chef qui veut que je mette à disposition ce paramètre pour que les clients le modifient si ils le souhaitent.

    Les connexions sont autorisées puisque le reste de mon appli fonctionne. Je récupère les données que je souhaite de mon PC vers le PDA, et vis versa.

    BDD = SqlServer 2005 pour PC et Mobile edition pour le windows CE du pda

Discussions similaires

  1. Réponses: 19
    Dernier message: 31/10/2005, 15h04
  2. [VB.NET] Problème checkBox et datagrid
    Par jagdjg dans le forum ASP.NET
    Réponses: 5
    Dernier message: 23/04/2004, 08h53
  3. [VS.NET] Probleme d'ancrage
    Par krachunka dans le forum Visual Studio
    Réponses: 2
    Dernier message: 22/04/2004, 14h09
  4. [VB.Net] Probleme avec dialogues (confirm et alert)
    Par crackity_jones666 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 26/11/2003, 22h05

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