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 :

Fermeture connexion base SQL Server


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut Fermeture connexion base SQL Server
    Bonjour à tous,

    J'ai un problème de fermeture de connexion à ma base sql server. La connexion s'établie correctement, les requêtes bien traitées mais dès que je veux fermer ma connexion, ma commande ne fonctionne pas...
    Voici mon code:
    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
    Public Class sql
     
        Private conn As SqlConnection
        Private commandeSQL As SqlCommand
        Private requete As String
        Private rs As SqlDataReader
     
        Public Sub Main()
     
            Dim strConnection As String = GetConnectionString()
     
            'On Error Resume Next
            conn = New SqlConnection(strConnection)
            conn.Open()
     
        End Sub
     
        Public Function test() As String
                Dim temp as String            
                requete = "SELECT [Nom] FROM [test] WHERE [Id] = '13'"
                Me.Main()
                commandeSQL = New SqlCommand(requete, conn)
                rs = commandeSQL.ExecuteReader() 
                rs.read()
                temp = rs.GetString(0)
                rs.close
                rs = Nothing
                conn.Close()
                return temp
        End Function
    End Class
    Je récupère bien le nom associé à l'Id 13 de la table "test". Mais quand je regarde les connexions sur le serveur sql, la connexion établie est toujours présente avec le statut "sleeping" et la commande "AWAITING COMMAND".
    Mon problème est que le serveur est configuré pour une maximum de 100 connexions et que dans mon application ASP.NET j'utilise très souvent la base sql. Par conséquent dès qu'on dépasse 100 connexions, ça plante...

    Savez vous pourquoi la connexion ne se ferme pas ?? Comment remédier à mon problème ?? Ca fait 2 jours que je me prends la tête la dessus. Et mon boss atteint avec impatience cette application... Aidez moi svp !

    Merci d'avance !

  2. #2
    Membre éclairé Avatar de loulouklm
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Par défaut
    Essaie un cn.Dispose()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Il faut le placer avant ou après le "conn.close()" ??

  4. #4
    Membre éclairé Avatar de loulouklm
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 99
    Par défaut
    Dispose fait un close implicite. Donc pas de close ni avant ni après.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    J'ai remplacé conn.Close() par conn.Dispose() mais ça marche toujours pas ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    J'ai trouvé ça sur le MSDN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnection.ClearPool(conn)
    Pensez-vous que cela convienne ??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Bon j'ai tout simplement mis ceci: (juste avant la fin de la fonction)
    Cette solution semble bien fonctionner. Je ne comprends pas tout mais si ça marche...

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/05/2012, 08h56
  2. connexion base sql server 2000
    Par gdebre dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/04/2007, 12h12
  3. connexion à une base sql server via access
    Par gunico dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/03/2006, 11h28
  4. connexion à une base Sql Server via Access et ADODB
    Par gunico dans le forum Projets ADP
    Réponses: 5
    Dernier message: 28/02/2006, 12h26
  5. Connexion dynamique sur une base SQL Server
    Par jh0483 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/08/2005, 15h10

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