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

Bases de données Delphi Discussion :

Lenteur en réseau


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Lenteur en réseau
    Bonjour,

    C'est la première fois que je poste un message. J'espère que quelqu'un pourra m'aider. Voici mon problème: je suis libraire et j'ai ecris un programme en Delphi pour ma caisse avec gestion code-barre. J'ai deux pc relié entre-eux par réseau, jusque la rien de compliquer. Sur le "pc maitre" aucun problème, je scanne le code barre, le code EAN est recherché dans la base de donnée et l'article affiché a l'écran. ca marche nickel

    Quand au "poste esclave", ca rame comme c'est pas possible, je scanne, l'article met (parfois) 3 sec avant de s'afficher voir plus. Quand je fais une recherche incrémentale dans la base de donnée, ca dure....... beaucoup trop longtemps, parfois 10 secondes.

    J'utilise la base de donnée native de Delphi .dbf avec des datatset.
    et l'OBCD que je pointe vers les alias.

    On m'a rapporté que Delphi n'etait pas très doué dans les bases de données par réseau mais j'ai pas envie de tout recommencer.

    Existe t-il une solution pour accelerer les recherches voir un autre moyen d'acceder aux données??


    Merci
    Laurent

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 630
    Points : 25 333
    Points
    25 333
    Par défaut
    dbf. ? euh, c'est quoi ?
    dBase c'est pas le truc par défaut, c'est plutôt .db avec Paradox
    et OBDC, c'est via ADO ou via BDE que tu l'utilises ?

    Delphi n'a rien à voir avec la DB en réseau, c'est le driver qui est incriminé, et aussi l'accès au fichier en réseau de Windows qui n'est pas non plus top (un serveur samba améliore cela nettement avec un BDE bien configuré)

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 169
    Points : 41 353
    Points
    41 353
    Billets dans le blog
    63
    Par défaut
    Citation Envoyé par ctwbctwb Voir le message
    On m'a rapporté que Delphi n'etait pas très doué dans les bases de données par réseau mais j'ai pas envie de tout recommencer.
    ça c'est un vilain rapporteur et c'est même pas vrai .

    Ce qui est vrai par contre c'est que paradox, dbase ou Access ne sont pas de très bonnes bases de données et que l'accès par BDE a celle-ci (comme a tout autre SGBD d'ailleurs ) n'est pas le Top du Top

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Lenteur
    Que faire alors, j'ai pas envie de tout reprogrammer?
    Le programme tourne si bien sur le poste maitre, sniffffff..............


    D'un autre côté, il est vrai que passer par la BDE est vraiment contraignant.
    deja que j'ai passé des jours pour savoir comment configurer alias et tout le bazar mais des qu'on veut mettre l'application sur un autre poste, faut tout refaire........

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 630
    Points : 25 333
    Points
    25 333
    Par défaut
    le BDE a un avantage c'est que l'on peut configurer le workdir et netdir, ce qui un impact notable sur les performances

    Tu utilise les ADOTable et ADOQuery ?
    Dans ce cas, tu peux remplacer par du MySQL ou SQL Server Express, cela pas trop difficile à migrer et nettement plus performant

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    non j'utilise des tables avec des instructions genre dicotable.first, dicotable.locate('"x") pour rechercher un enregistrement.
    J'y connais rien en language SQL.
    Je suppose que je devrais m'y mettre. Je vois en effet des composant ADO
    dans la fenetre du Delphi.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 169
    Points : 41 353
    Points
    41 353
    Billets dans le blog
    63
    Par défaut
    une suggestion ? Firebird et ZEOSDBO

    Firebird comme SGBDR et ZEOSDBO comme composants pour y accèder .
    L'avantage ? les composants font tout pour ressembler aux composants BDE (donc peu de remaniement du programme , je parle d'expérience).
    Les deux sont des vrais Free

    un petit pas vers le monde SQL

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 630
    Points : 25 333
    Points
    25 333
    Par défaut
    Citation Envoyé par ctwbctwb Voir le message
    D'un autre côté, il est vrai que passer par la BDE est vraiment contraignant.
    Citation Envoyé par ctwbctwb Voir le message
    Je vois en effet des composant ADO dans la fenetre du Delphi.
    Pige pas tu es en BDE, avec tes TTables ?
    Dans ce cas pourquoi parle de ODBC, le BDE se suffit à lui même et peut se configurer directement en Delphi via le TSession
    Il faut que tu configure le NetDir\WorkDir de ton BDE (tu as plein de sujet qui l'explique sur le forum)
    Tu verras une amélioration notable ...

  9. #9
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Bonjour,

    Citation Envoyé par ctwbctwb Voir le message
    ....
    J'y connais rien en language SQL.
    ...
    Sa va être chaud...

    Contrairement à mon ami Serge..., franchement sur 2 postes
    - Utilise une base access
    - Utilise un DATAModule (cela te permet de paramétrer l'accès à ta base des le lancement de ton appli)
    - Utilise des ADOTable et ADOQuery
    et tu n'auras aucun probleme de lenteur !!!
    (a moins que tu ai 100 000 articles, et encore...)


  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 169
    Points : 41 353
    Points
    41 353
    Billets dans le blog
    63
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    Ca va être chaud...
    Que nenni , sauf peut être la création de la BDD (et encore il y a des GUI pour ça tel Flamerobin , Ibexpert etc .....), le principal avantage des ZEOSDBO à mes yeux c'est justement son coté très proche de BDE .

    Bien sur , pour faire pro le SQL c'est mieux et surtout plus efficace

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    je passe bien par la BDE que je configure NETDIR ,.... , les alias
    en indiquant le chemin des tables. la facon la plus basique a ma connaissance de travailler sur des tables. Je comprend spas pourquoi c'est si lent, pourquoi l'avoir inventé alors.

  12. #12
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    salut

    mais le bdf c'est ça même si on est en monoposte sinon pourquoi avoir inventer d'autres SGBD. je crois que pour palier à ce problème faut passer à un autre SGBD sinon même avec une grande optimisation tu ne gagnera que très peu en temps. à vrai dire le gain est exponentiel donc si tu es en haut de la courbe c'est déjà l'optimum dans ton cas.

  13. #13
    Membre émérite
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 216
    Points : 2 306
    Points
    2 306
    Par défaut
    bonjour,

    je pense que le mieux dans ton cas, c'est de suivre les conseils de Just-Soft et de Sergio Master. Tu veux une utilisation réseau, alors il vaut mieux une base de données faites pour cela. Les bases de types Access ou Paradox s'en tirent beaucoup mieux pour des applications locales.
    Firebird est un bon choix car puissant, gratuit et surtout avec Delphi tu trouveras plein d'aide sur les forums.

    @++
    Dany

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    736
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 736
    Points : 822
    Points
    822
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    une suggestion ? Firebird et ZEOSDBO
    je confirme pour Firebird : c'est super bien

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bon...benh faut se mettre au Firebird donc, je dois donc migrer toutes mes tables vers cela...pfff..quel boulot et tout recoder.
    Merci pour vos conseils

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Points : 162
    Points
    162
    Par défaut
    Salut

    Si tu ne t'en sors pas avec Firebird (effectivement un bon choix mais bien compliqué dans ton cas !) je peux te garantir que l'accès BDE + table .db paradox (plutôt que .dbf DBase) peut être très rapide en réseau (Pour transformer une table DBase en table Paradox dans le module de base de donnée, menu outils/utilitaires/Copier et là tu copie ton .dbf en .db c'est tout). C'est une simple histoire de configuration à plusieurs niveaux :

    - ODBC n'a pas à être utilisé dans ton cas, le BDE seul suffit avec un pilote STANDARD.
    - le BDE doit être installé sur chaque poste (pour ne pas y accéder depuis le réseau !). Tu peux utiliser ton CD Delphi ou utiliser l'utilitaire de création d'installation fourni normalement. Sinon InnoSetup, freeware sait te créer une installation de BDE.
    - Sa configuration (faire pointer le répertoire NETDIR sur un seul et même répertoire avec le même chemin d'accès pour tous les postes à la lettre près, très important, le paramètre LOCAL SHARE doit être à TRUE)
    - Ta configuration réseau : il faut des cartes 100 Mb et non 10
    - L'idéal est de disposer d'un switch 100 Mb également (ou mieux)
    - La configuration de Windows (gestion des cartes réseau qui doivent être en Full duplex)
    - Si tu as un antivirus il est recommandé d'inclure une exception pour ton répertoire BD et ton répertoire NETDIR.
    - Si ta configuration TCPIP (protocole réseau) est au point c'est à peu près tout et cela doit parfaitement fonctionner pour 2 postes ! Sinon tu peux manuellement ajouter le protocol NetBeui (fourni sur les CD XP) pour utiliser Netbios via Netbeui plutôt que par Tcpip (il faut désactiver netbios sur tcpip dans ce cas).
    - Il faut donc partager un répertoire et le plus simple est de mapper un lecteur réseau sur ce répertoire (plutôt que l'UNC qui se déconnecte parfois)

    Maintenant si tu t'en sors avec Firebird (attention à la couche d'accès que tu vas utiliser depuis Delphi, UIB ou DBExpress de préférence ou effectivement Zeos mais évite si possible IBX et le BDE) et bien chapeau car pour un non informaticien ce n'est tout de même pas si simple (langage SQL, gestion de transactions entre autres), mais dans ce cas tu peux oublier ma réponse !

    Et pour être complet le vrai défaut du BDE c'est qu'il n'est plus maintenu donc cela fonctionne aujourd'hui avec tous les windows (un peu plus casse pied d'ailleurs pour Vista et Seven) mais pour l'avenir c'est moins sûr. Il n'y aura pas d'évolution du BDE.

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

Discussions similaires

  1. Problème de lenteur sous réseau
    Par AkqiraDev dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 20/02/2010, 08h38
  2. Lenteur sur Réseau
    Par zenzela dans le forum Administration
    Réponses: 4
    Dernier message: 18/02/2010, 10h55
  3. [sp3] Lenteur communication réseau
    Par lucarno dans le forum Windows XP
    Réponses: 0
    Dernier message: 09/04/2009, 17h18
  4. Réponses: 26
    Dernier message: 25/04/2007, 17h04

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