J'ai 20 méthodes différentes et utiliser le lecteur de données pour lire et obtenir le résultat de ces fonctions dans le même événement. En haut de page je crée le lecteur de données et commence à le charger étape par étape (il utilise même connexion et même fonction d'accès aux données) .Tout 15. lecteur de données de fonction charge sans problème, mais après 15, il charge lentement (nombre d'enregistrements est d'environ 20-30) .Quand je ferme le lecteur de données après 15.fonction, ce problème ne se produit pas.Mais maintenant après 15.function, je devrais fermer le lecteur de données si j'exécute une fonction.Pourquoi ce problème se produit-il, je ne sais pas.J'ai posté le code d'échantillon ici.Problème de vitesse de datareader dans vs.2008
'Trying method 1
strSQL.ToString="Select * from A"
dr = DB_Gateway.ReadAndBind(strSQL.ToString)
'Trying method 2
strSQL.ToString="Select * from B"
dr = DB_Gateway.ReadAndBind(strSQL.ToString)
'Trying method 15
strSQL.ToString="Select * from K"
dr = DB_Gateway.ReadAndBind(strSQL.ToString)
15. APRÈS L'EXÉCUTION, datareader COMMENCE À LOAD DATA SLOWLY.WHEN I ADD dr.Close et de l'exécuter, je n'ai pas problème.Si Je ne fais pas IT, IT RECORDS 20 CHARGES 5 Withing EST secondes.Cela Ma fonction READANDBIND.Je suis en train de me connecter à l'oracle 11 G. QU'EST-CE QUI PEUT PROVOQUER CE PROBLÈME?
Public Shared Function ReadAndBind(ByVal SQL As String) As OracleDataReader
Dim oraCommand As New OracleCommand
With oraCommand
.Connection =
New OracleConnection(CONN_NAME)
.CommandText = SQL
Dim dtreader As OracleDataReader
Try
.Connection.Open()
dtreader = .ExecuteReader(CommandBehavior.CloseConnection)
Catch ex As Exception
Exception_Save(ex.Message, oraCommand.ToString)
Throw
Finally
'.Connection.Close()
'.Connection.Dispose()
oraCommand.Dispose()
oraCommand =
Nothing
End Try
Return dtreader
End With
End Function
Merci Guffa, vous avez raison.Je pense que vous voulez dire que jusqu'à 15.Méthode, 15 connexion est en vie et donc il peut tomber en panne de performance.Am je raison? – Alexander
ur tip travaillé.Je suis en utilisant la même connexion et il a augmenté les performances.Merci à nouveau. – Alexander