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

C# Discussion :

EDM - Test si base existe trop LONG


Sujet :

C#

  1. #1
    Inactif  
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2009
    Messages : 1 083
    Points : 1 222
    Points
    1 222
    Par défaut EDM - Test si base existe trop LONG
    Hello

    Au démarrage de mon appli je teste si la connexion sur 2 bases de données existe avec DatabaseExists()

    Ca fonctionne très bien sauf que ça met énormément de temps avant de me remonter l'information comme quoi il n'a pas accès à la base de données. Environ 15 secondes par base...

    J'ai essayé de définir la propriété CommandTimeout à genre 5000ms, 1000ms, etc et rien ne change...

    J'utilise EntityDataModel.

    Si quelqu'un à une idée pour réduire ce temps...

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Bonjour

    Sur quel type de SGBD ?

    Si c'est sur SQL Server, le mieux est de faire une requête SELECT à la base master, qui a la liste des bases dans je-ne-sais-plus quelle table.

    (je ne connais pas cette méthode DataBaseExists).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Inactif  
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2009
    Messages : 1 083
    Points : 1 222
    Points
    1 222
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Bonjour

    Sur quel type de SGBD ?

    Si c'est sur SQL Server, le mieux est de faire une requête SELECT à la base master, qui a la liste des bases dans je-ne-sais-plus quelle table.

    (je ne connais pas cette méthode DataBaseExists).
    Ca me fait créer un EDM sur la base master aussi....

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par erwanlb Voir le message
    Ca me fait créer un EDM sur la base master aussi....
    Je ne vois pas trop l'interêt de passer par l'ORM pour tester structurellement la présence d'une base

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    suffit de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using (DbConnection dbc = db.OpenConnection())
            dbc.Close();
    Non ?

    Dans un try / catch... et roulez, ca doit prendre moins de 3 secondes sur un 'vrai' server

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par alavoler Voir le message
    suffit de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    using (DbConnection dbc = db.OpenConnection())
            dbc.Close();
    Non ?

    Dans un try / catch... et roulez, ca doit prendre moins de 3 secondes sur un 'vrai' server
    Sauf que en l'espèce tu test la possibilité d'ouvrir une connexion à une base, pas l'existence de la base.

    Donc, si ta connexion s'ouvre, ok, ta base existe a priori, mais si elle ne s'ouvre pas, il faut faire une analyse détaillé de l'exception (pb de droit ? pas de base de donnée ? pb de resources ?)

    Alors que un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from sys.databases where name = @mydbname
    ne laisse aucune ambiguité à ce sujet.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Inactif  
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2009
    Messages : 1 083
    Points : 1 222
    Points
    1 222
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Je ne vois pas trop l'interêt de passer par l'ORM pour tester structurellement la présence d'une base
    Depuis que j'utilise l'EDM j'ai en horreur les autres types de connexion et au delà de ça je trouve ça bizarre qu'il n'y ai rien, quand on utilise un EDM, pour tester la connexion et/ou la présence de la base avec une information qui remonte rapidement au cas ou la connexion et/ou la base inexistante !

  8. #8
    Inactif  
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2009
    Messages : 1 083
    Points : 1 222
    Points
    1 222
    Par défaut
    Voilà ce que je voudrais :

    MaBDDEntities toto = new MaBDDEntities();

    toto.TESTSICONNEXIONOK....
    toto.TESTSIBASEPRESENTE...

    et le tout avec un retour plus rapide....moins que les 15 secondes d'attente actuelles...

Discussions similaires

  1. [AC-2010] Liens trop long dans ma base.
    Par fab.85 dans le forum Access
    Réponses: 2
    Dernier message: 22/01/2012, 16h01
  2. [SQL-Server] Probleme script: nom de base trop long
    Par AlternantOracle dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 27/05/2010, 17h45
  3. Réponses: 19
    Dernier message: 01/02/2008, 12h54
  4. [TComboBox] Contenu trop long pour la zone d'affichage
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2003, 17h21
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 19h28

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