[vb .net] Appli Web, message d'erreur intempestif avec oracle

cs_Razalgood Messages postés 9 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 février 2006 - 11 janv. 2006 à 11:44
cs_Razalgood Messages postés 9 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 février 2006 - 20 janv. 2006 à 10:09
Bonjour,

J'ai actuellement un message d'erreur qui me pose quelques soucis car je ne sais pas dans quelle direction chercher.

ExecuteReader requires an open and available Connection. The connection's current state is Connecting.

En effet, ce message n'apparait pas de façon récurrente lors d'une manipulation précise mais apparait sans scénario particulier.

D'où cela peut-il venir ? Charge du serveur oracle à un instant t, nombre de connexion silmutanée, temps de latence du réseau, etc.

Je prends toutes les propositions.

Merci par avance.

Razalgood

Config :
- VB.NET sous visual studio 2003
- Windows server 2003
- Serveur Web IIS
- Framework .Net 1.1.4322.573
- Oracle 8.1.6
- Connexion OleDB

5 réponses

fduchamp Messages postés 13 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 10 avril 2006
11 janv. 2006 à 14:35
Bonjour,
Avec ces informations c est un peu difficile de savoir mais je pense que tu devrais ouvrir ta connexion avant le executeDataREader et la refermee ensuite pour ne pas laisser toujours la connexion ouverte. Dans le cas d une ouverture de page si tu as plusieurs liste a charger en fonction de donnée oracle tu ouvres ta connexion puis tu charges les liste et ensuite tu refermes la connexion. Tu n'es pas obliger d'initialiser a chaque fois ta connexion, tu l instancie 1 fois seulement.
0
cs_Razalgood Messages postés 9 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 février 2006
11 janv. 2006 à 15:10
Merci de cette réponse, voici le code que j'utilise :

par exemple :

Dim MycommandPJ As OleDbCommand = OuvertureConnexion().CreateCommand()
MycommandPJ.CommandText = "Select ....
MycommandPJ.Parameters.Add("@num", OleDbType.Char).Value = ...
Dim ReaderPJ As OleDbDataReader = MycommandPJ.ExecuteReader()
Try
Do While ReaderPJ.Read()
....
Loop
Finally
ReaderPJ.Close()
FermetureConnexion()
End Try

avec :
Function OuvertureConnexion()
As System.Data.OleDb.OleDbConnection

OleDbConnection =
New System.Data.OleDb.OleDbConnection
OleDbConnection.ConnectionString = "Provider=...
OleDbConnection.Open()

Return OleDbConnection

End
Function

Sub FermetureConnexion()
OleDbConnection.Close()

End
Sub

En fait pour chaque requête, chargement liste ou autre, j'utilise ma fonction pour instancier ma connexion et la procédure pour la fermer. L'un ne va pas sans l'autre pour éviter les pb de connexion et ne pas laisser de connexion ouverte, ai-je bon ?

Razalgood
0
fduchamp Messages postés 13 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 10 avril 2006
11 janv. 2006 à 17:11
essai de voir a bien desalouer la connection par un dispose tout comme pour la commande ca eviter de faire gonfler la memoire.

Dim OleDbConnection As OleDbConnection

Private Sub test()
OuvertureConnexion()
Dim MycommandPJ As OleDbCommand = OleDbConnection.CreateCommand()
MycommandPJ.CommandText = "Select ...."
MycommandPJ.Parameters.Add("@num", OleDbType.Char).Value = " ..."
OleDbConnection.Open()
Dim ReaderPJ As OleDbDataReader = MycommandPJ.ExecuteReader()
Try
Do While ReaderPJ.Read()
Loop
Finally
ReaderPJ.Close()
MycommandPJ.Dispose()
FermetureConnexion()
End Try
End Sub

Sub OuvertureConnexion()
OleDbConnection = New System.Data.OleDb.OleDbConnection
OleDbConnection.ConnectionString = "Provider=..."
OleDbConnection.Open()
End Sub

Sub FermetureConnexion()
OleDbConnection.Close()
OleDbConnection.Dispose
End Sub

J espere que cela suffira a resoudre ton pb mais je suis pas sur.
0
cs_Razalgood Messages postés 9 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 février 2006
16 janv. 2006 à 14:33
merci de cette réponse,

je viens de rajouter le dispose, je n'ai pas vu de différence pour l'occupation mémoire.

ça ne va pas lui faire de mal de toute manière, il me reste à faire des tests pour voir si ça a réglé le problème.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Razalgood Messages postés 9 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 février 2006
20 janv. 2006 à 10:09
Malheureusement j'ai le même problème qui se reproduit :(
0
Rejoignez-nous