Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1442 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Processus sql Sever sous vb.net

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Processus sql Sever sous vb.net

n°809780
Jeuneloup
Posté le 29-07-2004 à 11:48:28  profilanswer
 

Bonjour,
 
Je développe une application vb.net qui attaque une base sql server.
A chaque ouverture de connexion, sqlserver crée un processus que l'on peut voir avec la commande sp_who2.
le problème c'est que même après avoir fermé mes connexions, il reste des processus en mode "sleeping".
Ces processus m'empèche d'effacer ma base (DROP DATABASE mabase)
 
J'aurais donc deux questions:
 
Est-il normal que les processus restent même après avoir fermé les connexions?
 
Est-il propre de killer un processus ?
 
Merci d'avance

mood
Publicité
Posté le 29-07-2004 à 11:48:28  profilanswer
 

n°809802
jagstang
Pa Capona ಠ_ಠ
Posté le 29-07-2004 à 12:08:43  profilanswer
 

- non
- non
 
tu ne fermes pas correctement la connection à mon avis (code ?)


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°809816
Jeuneloup
Posté le 29-07-2004 à 12:19:11  profilanswer
 

Bonjour JagStang et merci pour ta réponse,
 
Je ferme la connexion avec Connexion.close()
 
Merci
 
       

n°809857
jagstang
Pa Capona ಠ_ಠ
Posté le 29-07-2004 à 12:44:55  profilanswer
 

un peu plus de code?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°809958
Jeuneloup
Posté le 29-07-2004 à 14:16:32  profilanswer
 

voila une portion du code :
         
Dim Connex As New SqlClient.SqlConnection
Connex = New SqlClient.SqlConnection
Connex.ConnectionString = "integrated security=SSPI;data source=MonServeur;persist security info=False;database=master"
Try
Connex.Open()
Catch ex As Exception
MsgBox("Erreur lors de la connexion à la base de donnée" )
End Try
 
******************
Dim SqlCommand As SqlClient.SqlCommand
Requete = "CREATE DATABASE MyBase"
SqlCommand = New SqlClient.SqlCommand(Requete,Connex)
SqlCommand.ExecuteNonQuery()
******************
Connex.close
 
 
Par la suite, j'ouvre une connexion de la même manière que précedemment mais sur la nouvelle base crée. Ensuite j'y crée des tables et j'y insère des données puis je ferme la base.
Pour finir, j'ouvre un connexion au serveur sur la base master comme sur le code plus haut puis j'essai d'éxécuter la requête "DROP DATABASE MyBase"
Et hop ça ne marche pas à cause d'un processus en mode sleeping sur cette base
 
Merci encore ;)

n°812117
HappyHarry
Posté le 31-07-2004 à 23:02:24  profilanswer
 

Jeuneloup a écrit :

voila une portion du code :
         
Dim Connex As New SqlClient.SqlConnection
Connex = New SqlClient.SqlConnection
Connex.ConnectionString = "integrated security=SSPI;data source=MonServeur;persist security info=False;database=master"
Try
Connex.Open()
Catch ex As Exception
MsgBox("Erreur lors de la connexion à la base de donnée" )
End Try
 
******************
Dim SqlCommand As SqlClient.SqlCommand
Requete = "CREATE DATABASE MyBase"
SqlCommand = New SqlClient.SqlCommand(Requete,Connex)
SqlCommand.ExecuteNonQuery()
******************
Connex.close
 
 
Par la suite, j'ouvre une connexion de la même manière que précedemment mais sur la nouvelle base crée. Ensuite j'y crée des tables et j'y insère des données puis je ferme la base.
Pour finir, j'ouvre un connexion au serveur sur la base master comme sur le code plus haut puis j'essai d'éxécuter la requête "DROP DATABASE MyBase"
Et hop ça ne marche pas à cause d'un processus en mode sleeping sur cette base
 
Merci encore ;)


 
et en ajoutant un petit pooling=false dans la chaine de connexion ?

n°812986
Jeuneloup
Posté le 02-08-2004 à 19:31:34  profilanswer
 

Salut,
 
Merci bcp happyharry, ça venait effectivement du pool de connexion.
Une dernière question:
Quel est l'avantage de garder le pool de connexion actif?
 
Merci ;)

n°824336
Styx0
Aware, abware !
Posté le 16-08-2004 à 16:41:47  profilanswer
 

Le pooling est extrement interessant pour ton application, car une fois ta premiere connexion réalisé par ton application l'ensemble des connexions utilisant la meme chaine de connexion piocheront dans le pooling pour s'ouvrir => ce qui te fait gagner énormément de temps


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Processus sql Sever sous vb.net

 

Sujets relatifs
[C] creation de threads ou de processus ?mettre en prioriété un processus sur un serveur !!
Processus père et fils, pas sûr de mon programme[VBS] Kill processus courant sous windows XP
probleme de creation de table associatif sous ms sql sever[C] comment acceder au donner d'un processus
[C/Unix] Date de création d'un processus[SQL Server] Ressources lock bloquées par d'autres processus
[Processus] Définir le pid du processus dans lequel lancer le programwin32 - infos de traffic réseau pour un processus
Plus de sujets relatifs à : Processus sql Sever sous vb.net


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR