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 :

sql encore et tjs... :o(


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut sql encore et tjs... :o(
    salut,
    voila mon nouveau pb:
    je suis en train de me refaire une machine car la miene donne des signes de faiblesse....donc je reinstalle delphi et sql server... le probleme, je fais une fiche avec juste une ADOTable et qd je compile j'ai un message d'erreur "un composant nommé First_name existe déja" ... first_name est un index de la table sql que j'essaye de lire. qd je force l'execution en refaisant F9 a nouveau ca fonctionne bien, qd j'execute directement l'executable ca fonctionne aussi, sur mon autre poste, ca marche aussi... mais pas sur les 2 postes ou j'ai reinstallé...tjs ce message....pourquoi ce message ? une idee ?
    merci d'avance

    exyacc

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    as tu mis a jours ton poste ? (MDac - Microsoft Data Access Components)

    Ca peut venir de la.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    mon poste ? l'actuel ou le nouveau ? sur le nouveau j'ai rien mis, juste delphi et sqlserveur, j'ai meme sur un autre poste mis que delphi sans remettre tout mes composants..... MDac, ca ma dit rien, je peux avoir mis ca sans m'en rendre compte ?

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Vu que tu utilises les composants ADO, il faut que les drivers Mdac et Jet engines soit à jour sur ton poste. (Voir directement sur le site de microsoft pour les récupérer).

    Pour voir si tu as les mêmes version sur les deux postes, tu vas dans les sources de données ODBC (98/Me directement dans le panneau de configuration, XP/200X dans les outils d'administration).
    Tu cliques sur l'onglet Pilote ODBC et tu regardes les versions des pilotes. Si elles diffèrent c'est qu'il faut que tu mettes à jour ton PC, ca devrait régler ton problème.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    merci pour ton aide malatar,

    j'avais regardé les pilotes sql serveur et c'etait les memes, dans le doute j'ai regardé tout les autres pilotes pour voir s'il n'y avait pas un autre sql que j'aurais pas vu.... tout est pareil sauf des pilote microsoft visual foxpro et dBase VFP driver....

    aurais-je pas cocher qq chose ds mes options delphi au tout debut et que ca mettrait pas ces messages d'erreurs la ?

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Est ce que ton client SQL est bien installé ?
    Est ce la même version que pour le poste qui fonctionne ?
    Est ce que tu passes par ODBC ou une connexion directe par ADO ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    oui meme cd ms SQL
    j'allais justement te demander....ds delphi qd je fais construire la connection string, dans les fournisseur, j'ai choisi la seule ligne ou j'ai vu sql serveur, et c'est "Microsoft OLE DB Provider for SQL Server" c'est le meme que ds l'administrateur ODBC ou c'est nommé "SQL Server" ? de toute facon sur les 2 postes j'ai les memes choses....

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    qd je choisis "microsoft ole db provider for sql server" comment je peux voir la version ?

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    As tu fait un pas à pas pour voir où l'erreur se produit ?

    Si possible, peux tu fournir le source où il y a l'erreur ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    le source est pas compliqué, j'ai mis un tadotable, un datasource.
    ds mon ADOtable, je vais dans connection string et je fais construire, je choisis mon fournisseur, mon serveur, ma base de donnée.
    j'indique ma table name. (je fais tout pareil que le poste ou ca marche).
    je mets active a TRUE (ca bronche pas), et qd je fais F9, ca me pete le message "un composant nommé blablablabla".si je click "ok" pour valider le message d'erreur et que je refais F9, ca passe.....
    j'ai deja dis mais si je click directement l'executable créé, j'ai pas d'erreur.

  11. #11
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Par hasard dans le on create de ta form, n'ouvrirais tu pas le adotable ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    nan le seul code se trouve sur l'evenemnt click d'un bouton ou j'ai mis:

    adotable1.First;
    while not(adotable1.Eof) do
    adotable1.Next;

  13. #13
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Met desactive ton composants ADOTable.

    Dans le OnCreate de ta form :

    AdoTable.Active := true;

    Si ca bug encore passe par un adoconnection (pense a relier le connection de l'adotable à l'adoconnection)

    et dans le oncreate : tu rajoutes avant l'adotable :

    Adoconnection.Active := true;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    ca me met le message d'erreur en passant par adoconnection... merci ;o) tant pis on saura jamais pourquoi pas pareil sur les 2 postes... lol
    dernier pb et je t'embete plus et tu meriteras un café ;o) . en fait cette base viens d'un programme de gestion, avant, tout etait en paradox et maintenant ca vient de passer en SQL.
    j'avais fait une applic pour faire plein de calcul dessus et je devais donc parcourir chaque enregistrement donc un .first et je parcours avec un .next ( pas possible de faire requete car calcul tres tordus) , avant en paradox ca mettait 8 secondes a tout parcourir, maintenant en sql ca met 3 min 20.... normal ? si tu veux la parcourir j'ai la table ...

  15. #15
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par exyacc
    ca me met le message d'erreur en passant par adoconnection... merci ;o) tant pis on saura jamais pourquoi pas pareil sur les 2 postes... lol
    dernier pb et je t'embete plus et tu meriteras un café ;o) . en fait cette base viens d'un programme de gestion, avant, tout etait en paradox et maintenant ca vient de passer en SQL.
    j'avais fait une applic pour faire plein de calcul dessus et je devais donc parcourir chaque enregistrement donc un .first et je parcours avec un .next ( pas possible de faire requete car calcul tres tordus) , avant en paradox ca mettait 8 secondes a tout parcourir, maintenant en sql ca met 3 min 20.... normal ? si tu veux la parcourir j'ai la table ...
    Oui ... que ca fonctionne différement d'un post à un autre, c'est un des plus grand mystère de l'informatique. Je me souviens d'une de mes applications qui fonctionnait tres bien sur 4 postes et n'a jamais voulut touner sur le 5em. Les 5 postes etaient identiques

    Parcourir une table c'est pas top, plus ta table va prendre du "poids", plus ca va être long.
    Peux tu décomposer ton calcul par étape ? si oui alors tu peux faire plusieurs requetes afin de gagner du temps.
    Maintenant que tu utilises SQL serveur, je te conseil fortement de te mettre aux procédures stockées (gain de temps monstrueux) de plus tu pourras faire ton calcul plus facilement (plein de petites fonctions de script sur sql serveur).

    Merci pour le café, mais je suis allergique à cette boisson ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    en fait je peux pas trop decomposer le calcul, je suis obligé de parcourir chaque enregistrement et d'y lire une dizaine de camp et de faire des calculs en fonction du ou des enregistrements precedents, je dois remplir pls centaines de variable avec des calculs de chaque enregistrement. donc a mon avis pas realisable sous forme de requete.... mais pourquoi paradox met 8 sec et sql 3 minutes a faire un .next ?

  17. #17
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Tu peux montrer la structure de ta/tes tables ainsi que le calcul que tu fais ?

    SQL serveur passe par des couches supplèmentaires par rapport a paradox. sur des petites tables paradox sera plus rapide, mais des que tu vas avoir un nombre important d'enregistrement, tu verras que SQL serveur sera beaucoup rapide à traiter tes demandes.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 356
    Par défaut
    je peux te l'envoyer mais ca fait 1.5 mo ....
    les calculs sont gueres importants, car avec ou sans eux , la vitesse de parcours .next est quasi la meme, 8 s avec paradox, plus de 3 min avec sql pour 50000 lignes je crois..
    peux tu juste faire un essai avec cette table de parcours pour voir si le tps est identique, pour voir si tu mets 10 secondes ou si c'est pls minutes ...

  19. #19
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Je n'ai pas SQL serveur sur le poste où je suis donc je ne pourrais pas tester.

    Le fait est que parcourrir 50000 lignes en 8s, je trouve que ca fait un peu court.

    J'ai fait un prog qui copie les données d'une base de données X vers une base de données MYSQL, et je peux te dire que ca fait pas du 50000 lignes / 8s. Les 8s c'est plus pour 500 lignes.

    essaie de voir en passant par une connexion ODBC vers SQL serveur au lieu de prendre la connexion ADO directe.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. [SQL] encore les dates
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/12/2007, 14h54
  2. [SQL] Encore un probleme de date et heure !
    Par Maxi-môme dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/06/2007, 16h25
  3. [SQL] Encore mes kms !
    Par fallais dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 02/08/2006, 19h49
  4. [SQL] Pourquoi utilise-t-on encore les fichiers texte?
    Par krimback dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 24/03/2006, 13h44
  5. Réponses: 17
    Dernier message: 08/03/2006, 10h05

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