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

VB.NET Discussion :

Mode connecté ou mode déconnecté ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut Mode connecté ou mode déconnecté ?
    Bonjour,

    J'ai une grande question qui me taraude depuis 2-3 semaines. Je travaille sous deux types de BD : Access et SQL-Server. Il apparaît que sous Access le mode connecté marche correctement même si j'ai beaucoup traitements (1600 livres * 300 requêtes -> C'est le plus lourd, environ 2h30 de traitement) à effectuer dessus. Par contre, sur une base SQL Server c'est plus tendu (400 enregistrements * 300 requêtes-> 3h....)

    Il semblerait que le mode connecté de VS sur SQL Server ne soit pas trop adapté. Pensez-vous que j'optimiserais le travail en mode déconnecté ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il n'y a pas vraiment de réponse toute faite, tout dépend des traitements que tu effectues.

    Si c'est les requêtes d'insertion et de mise à jour qui prennent du temps, le mode déconnecté ne t'apportera pas grand chose : tu feras tes traitements en mémoire, mais après il faudra encore effectuer des requêtes pour mettre à jour la BDD.

    Après, s'il y a des requêtes que tu effectues souvent et qui renvoient les mêmes données, ça peut être intéressant de précharger ces données dans un DataSet pour y accéder plus rapidement

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    vous pouvez m'expliquez tous les 2 votre vision de connecté/déconnecté ?

    (@tomlev je t'ai pas déjà saoulé avec ca ? (ca = que je pense que le mode connecté n'existe pas avec sqlclient.*))

    @sebnantes : le temps d'exécution dépend aussi (et surtout ?) du modèle de données et de la facon d'écrire les requetes
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    vous pouvez m'expliquez tous les 2 votre vision de connecté/déconnecté ?
    Je sais pas si c'est la définition "officielle", mais ce que j'appelle le mode déconnecté, c'est quand on travaille en mémoire sur un DataSet, et qu'on met ensuite à jour la BDD avec un DbDataAdapter. Le mode connecté, c'est quand on travaille directement sur la BDD à coups de DbCommand/DbDataReader

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si, ca a l'air d'etre la définition officielle, mais c'est pas celle que je croyais
    (enfin wikipedia peut raconter des conneries aussi)

    m'enfin ca reste étrange de différencier un dataset/Dataadapter de command/datareader alors que le dataset se rempli grace à un datareader et le dataadapter effectue les modifications grace à des command ...

    le mode connecté sous vb6 était à mon sens un vrai mode connecté, un recordset pouvait aller dans tous les sens et se mettre à jour de manière bidirectionnelle
    le datareader de .net ne va qu'en avant et ne permet pas de modification, et personne ne garde un datareader ouvert longtemps, meme sans dataset, on lit les données et on le ferme, on traite après
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    si, ca a l'air d'etre la définition officielle, mais c'est pas celle que je croyais
    (enfin wikipedia peut raconter des conneries aussi)

    m'enfin ca reste étrange de différencier un dataset/Dataadapter de command/datareader alors que le dataset se rempli grace à un datareader et le dataadapter effectue les modifications grace à des command ...
    bah il faut bien se connecter au moins une fois, pour avoir un mode deconnecté avec de vraies données.

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    m'enfin ca reste étrange de différencier un dataset/Dataadapter de command/datareader alors que le dataset se rempli grace à un datareader et le dataadapter effectue les modifications grace à des command ...
    oui, mais entre le moment où tu remplis ton dataset et celui où tu mets à jour la BDD, tu n'accèdes plus à la BDD, tu peux même fermer la connexion, d'où le nom "déconnecté" (enfin je suppose)

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Edit : Oups, il y a eu plein de réponses le temps que je formule correctement mon message ^^

    @tomlev

    Ton deuxième paragraphe répond (hélas....) à mon problème. J'ai effectivement plein d'insertion/update qui sont effectués.

    Par contre, tu sous-entends qu'il est intéressant pour moi de placer les données que je balaye à l'aide d'un while (récupérer dans un reader, dans mes exemples cela équivaut au 1600 enregistrements de départ) dans un dataSet ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/06/2011, 20h19
  2. Réponses: 11
    Dernier message: 28/02/2008, 16h39
  3. Réponses: 2
    Dernier message: 08/01/2008, 06h07
  4. Réponses: 4
    Dernier message: 11/05/2006, 16h57

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