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

Requêtes et SQL. Discussion :

Requête très lente depuis table externe en BD SQLServer2008 [AC-2007]


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Par défaut Requête très lente depuis table externe en BD SQLServer2008
    Bonjour à tous.

    J'ai trois BD différentes qui auraient en commun trois tables (tblVilles, tblDepartement, tblPays) et je voudrais avoir ces trois tables séparées de chaque BD, et me servir d'elles en tant que tables extérieures. Dans la tblVilles par exemple j'ai toutes les villes de France (et certaines villes d'autres pays), liées par un IdDepartement à leur département respectif... J'en ai presque 40,000 enregistrements seulement dans tblVilles, d'où mon intérêt d'avoir ces trois tables une seule fois.

    Je les ai mise dans SQLServer 2008. Mais si j’essaie par exemple de remplir un combobox avec toutes les villes depuis un formulaire d'une de mes BD, le temps d'execution est très lent (environ 25s) alors que si j'ai ma tblVilles sur la même BD le formulaire s'ouvre très vite.

    N'étant pas très connaisseur de SQLServer je me demande si je dois faire quelque chose du coté SQLServer (j'ai seulement exporté les trois tables avec l'utilitaire d'Access). La connexion se fait bien et le combobox est rempli avec les données.

    Si j’essaie d'ouvrir la table depuis une autre BD Access, même problème de lenteur.

    Je vous remercie si vous avez des conseils à me donner.

    Voici le code que j'utilise pour faire cette manip:
    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
    Private Sub Form_Load()
        Dim cnt As New ADODB.Connection
        Dim rst As New ADODB.Recordset
        Dim strSQL As String
     
        strSQL = "SELECT IdVille, Ville FROM dbo.qryVilles"
        cnt.ConnectionString = "Provider = SQLNCLI10;" & _
                                "Data Source=(local);" & _
                                "Database=BDTestSQL;" & _
                                "Integrated Security=SSPI;"
        cnt.Open
        Set rst.ActiveConnection = cnt
        rst.Open strSQL, cnt
     
        Do While Not rst.EOF
            Me.cboVille.AddItem rst.Fields(0) & ";" & rst.Fields(1)
            rst.MoveNext
        Loop
     
        cnt.Close
        Set cnt = Nothing
     
    End Sub

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Bonjour Alfhcg,

    Quel type d'objet est "dbo.qryVilles", dans SQL Server ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Par défaut
    Il s'agit d'une requête.
    J'ai aussi essayé avec la table elle-même et la lenteur d’exécution depuis access est pareil. Par contre depuis SQLServer elle s’exécute normalement.

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Par "requête" tu entends "vue" ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 116
    Par défaut
    Oui, une vue. Comme j'ai déjà dit, je n'ai aucune idée de SQLServer, mais j'ai quand même réussi à faire une vue, avec le dessinateur graphique, qui ressemble bcp celui d'access.

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Par défaut
    Côté SQL Server, le temps de réponse du lancement de cette vue est-il long ?

    Sinon, as-tu essayé via ODBC (ta vue devient une table liée) ?

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

Discussions similaires

  1. [XL-2003] Requête classeur fermé - La table externe n'est pas au format attendu
    Par Blencastreur dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/05/2012, 10h50
  2. Requête trés lente
    Par mercure07 dans le forum SQL
    Réponses: 22
    Dernier message: 29/03/2012, 18h46
  3. Requête très lente
    Par Korben-Dallas dans le forum Requêtes
    Réponses: 10
    Dernier message: 20/07/2011, 14h07
  4. Requêtes très lentes malgré peu de données
    Par The zxeno prophet dans le forum Requêtes
    Réponses: 8
    Dernier message: 12/01/2011, 14h09
  5. [AC-2003] Requête très longue sur table liée AS/400
    Par cortek's dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 20/09/2009, 11h28

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