Lenteur remplissage DataGrid avec une BDD Access
Bonjour à tous,
Je rencontre un problème de lenteur sur une petite application qui utilise une BDD Access. La BDD contient une seule table avec une soixantaine de colonnes et pour l'instant un peu plus de 1000 lignes. Le fichier Access est stocké et partagé en réseau.
Au départ j'ai utilisé une connexion de données avec DataSet, DataTableAdapter et BindingSource. Le remplissage du DataGrid prenait plus de 20s.
J'ai testé en déplaçant le fichier en local sur le SSD de ma machine : Pas d'améliorations notables.
Dans Access la basse fonctionne sans lenteur. Une opération de tri s'effectue instantanément.
Enfin j'ai supprimer ma source données pour gérer tout cela dans le code. En m'inspirant du cours : http://plasserre.developpez.com/cour...ees2#LXVII-F-2
J'utilise le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Dim Connection_Access As New OleDbConnection
Dim Chaine_connection_Access As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=MonFichier.accdb;Jet OLEDB:Database Password=MonMDP"
Dim Commande_Access_Proposition_articles As New OleDbCommand("SELECT * FROM Proposition_articles ORDER BY ID;", Connection_Access)
Dim DataAdapter_Proposition_articles As New OleDbDataAdapter(Commande_Access_Proposition_articles)
Dim DataSet_Proposition_article As New DataSet
Sub MAJ_Datagrid()
Connection_Access.ConnectionString = Chaine_connection_Access
Connection_Access.Open()
DataAdapter_Proposition_articles.Fill(DataSet_Proposition_article, "Proposition_articles")
Formulaire_principal.DataGridView_Principal.DataSource = DataSet_Proposition_article.Tables("Proposition_articles")
End Sub |
Le résultat est de 18s pour remplir le Datagrid. Un tri dans le DataGrid prend un temps comparable.
J'ai également essayé avec une BindingSource mais le résultat est similaire.
Quelles erreurs ai-je commise pour obtenir une lenteur pareille ?
Merci de votre aide.
Bonne journée.