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 :

[ ADO ] Tracer le fournisseur OLE DB


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut [ ADO ] Tracer le fournisseur OLE DB
    Bonjour a tous

    Mon appli Delphi utilise le fournisseur OLE DB Microsoft Jet 4, avec des composants ADO, pour lire un fichier MBD. Classique...

    Problème, chez un des clients, ca ne marche pas, et pas de message d'erreur pour me donner une piste :-(

    Est il possible de loguer ( tracer ) les requètes SQL, les commandes, que mon programme transmet à la base de donnée, via le fournisseur OLE DB ?

    Dans Vista, Panneau de conf, Sources de donnée, y a bien un "tracage", mais impossible de lui faire générer un log (?)

    Toutes pistes bienvenue.
    Merci
    Pascal

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    une piste, essaye de se connecte avec excel à la base
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Un article de Franck Soriano qui devrait t'intéresser.
    Le Tracing avec Event Tracing for Windows (ETW)

  4. #4
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut salut
    salut.
    vérifier si la bibliothéque MSDAC de windows est installé chez ton client,sinon installe la apartir de site de microsoft.
    cordialement

  5. #5
    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 304
    Points
    2 304
    Par défaut
    Salut;

    le sujet est très intéressant si quelqu'un à déjà mis en œuvre les explications du tuto de Franck Soriano qu'il nous fait part de ses résultats.
    @pascal07, si tu arrives à quelque chose de concret n'hésite pas à nous orienter.

    sur écoute ....
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #6
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    il a quelle version de vista? et est-elle à jour? c'est WDAC et pas mdac sur vista et normalement c'est inclus
    Sa m'intéresse car je suis dans le même cas que toi pour mon application
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut
    Bonjour

    - Avec Excel, pas de problème ( mais si ca se résume à ouvrir un MDB(?) )

    - ETW, oui, j'ai vu, mais ca semble un peu complexe à mettre en oeuvre, puisqu'il faut ajouter du code dans mon appli.

    - on va essayer de réinstaller WDAC.

    Le problème est ardu, et surtout, ca ne marche pas chez UN client, mais ca marche nickel chez plein d'autre...

    Merci
    Pascal07

  8. #8
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Si ton client est sous Vista, il y a certains points à vérifier.
    - Les chemins ne sont pas les mêmes (ex : avec le nom donné à Program Files)
    - UAC activée ou non
    - version d'access
    - access installé sur le poste ou non
    et j'en passe...

  9. #9
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    Citation Envoyé par pascal07 Voir le message
    - Avec Excel, pas de problème ( mais si ca se résume à ouvrir un MDB(?) )
    oui, c'est ce que je veux dire, alors wdac est installé
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  10. #10
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Citation Envoyé par pascal07 Voir le message
    Est il possible de loguer ( tracer ) les requètes SQL, les commandes, que mon programme transmet à la base de donnée, via le fournisseur OLE DB ?
    J'ai expliqué la méthode dans mon tuto sur ETW.
    Dans ton cas de figure, tu as deux options :
    - Soit tu instrumentes ton code pour générer toi-même une trace.
    - Soit tu utilises le tracing natif du MDAC, tel que je l'ai expliqué au chapitre http://fsoriano.developpez.com/articles/etw/delphi/#LVI.
    Tu as une clé à définir dans la base de registre. Ensuite j'ai fournis tous les outils nécessaires dans mon tuto.

    Si tu utilises le tracing intégré dans ADO et OLEDB, la difficulté ce ne sera pas d'activer la trace, mais de parvenir à l'interpréter ! surtout si tu ne maitrise pas OLEDB. Ca tu as vraiment tous les appels OLEDB qui sont détaillés...

    Citation Envoyé par pascal07 Voir le message
    Dans Vista, Panneau de conf, Sources de donnée, y a bien un "tracage", mais impossible de lui faire générer un log (?)
    Je pense que tu fais allusion aux tracing de ODBC. Je ne pense pas que ça puisse fonctionner avec ADO.

    Le problème est ardu, et surtout, ca ne marche pas chez UN client, mais ca marche nickel chez plein d'autre...
    Tu as essayé les grands classiques : Arrêter l'anti-virus, vérifié s'il n'y a pas un firewall au millieu...

    De plus, à quel moment est-ce que ça ne marche pas ? Erreur à la connexion ? (dans ce cas, tu dois avoir un code d'erreur, même si tu ne le teste pas, et que tu ne l'affiche pas...).
    Est-ce que c'est une fonctionnalité en particulier qui ne marche pas ?

  11. #11
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    Salut;

    le sujet est très intéressant si quelqu'un à déjà mis en œuvre les explications du tuto de Franck Soriano qu'il nous fait part de ses résultats.
    @pascal07, si tu arrives à quelque chose de concret n'hésite pas à nous orienter.

    sur écoute ....
    Ben je croyais avoir tout expliqué en long en large et en travers. y compris fournit l'intégralité du code source nécessaire pour mettre en oeuvre ETW directement...
    Il serait préférable que tu dises précisément ce qui te pose problème.
    Evidemment, je m'en sert pour instrumenter mes couches d'accès aux donnés. Donc toutes mes applis génèrent des traces ETW. Je suis même allé jusqu'à écrire une extension PHP (j'ai aussi la même en dotNET) pour générer des traces ETW. De cette façon, on instrumente également nos sites web.
    Ca permet d'enregistrer des traces très précises et très détaillées en Prod qui sont ensuite une mine d'or pour analyser l'utilisation du site et ses performances.

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut
    Merci à Franck pour ses efforts de pédagogie, mais:

    Etant sous Vista, les screen de ton article sous XP, pour l'ajout du fournisseur étranger, n'ont rien à voir. Dans le moniteur de performance, j'ai galéré et finalement trouvé "generic trace " et fait fonctionner ETWtest.

    Les evnts sont bien envoyé dans ETWTraceViewver :-)

    Par contre, je n'arrive pas à logger les evenement ADO, bien que j'active le fournisseur AdoNetDiag ( mais moi dans mon soft, j'utilise ADO, pas .net, un rapport ? )

    Et voila ce que retourne l'utilisation de mofcomp:

    D:\temp_Etw\mof>mofcomp adonetdiag.mof
    Compilateur MOF Microsoft (R) - Version 6.0.6000.16386
    Copyright (c) Microsoft Corp. 1997-2006. Tous droits réservés.
    Analyse du fichier MOF : adonetdiag.mof
    Analyse du fichier MOF effectuée
    Stockage des données...
    AVERTISSEMENT*: le fichier adonetdiag.mof ne contient pas #PRAGMA AUTORECOVER.
    Si l'espace de stockage WMI est reconstruit à l'avenir, le contenu de ce fichier
    MOF ne sera pas inclus dans le nouvel espace de stockage WMI.
    Pour inclure ce fichier MOF lorsque l'espace de stockage WMI est reconstruit aut
    omatiquement, placez l'instruction #PRAGMA AUTORECOVER dans la première ligne du
    fichier MOF.
    Terminé !

    ---------------
    Sinon, pour finir, mon client a reformaté son vista, et juste remis mon logiciel, qui fonctionne alors très bien. Il est en train de remettre ses autres logiciels, en essayant de trouver celui qu'il ne faut pas installer, car plantant mon soft...Comme quoi, c'est bien un de ses logiciels ( Accès, Visual studio ? ) qui " plante " la lecture de la base dans mon logiciel.

    Vive la " compatibilité Microsoft " ! ;-)

    Merci
    Pascal 07

  13. #13
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Citation Envoyé par pascal07 Voir le message
    Etant sous Vista, les screen de ton article sous XP, pour l'ajout du fournisseur étranger, n'ont rien à voir.
    Si tu utilises le moniteur de performance, celui de Vista ayant pas mal changé de tête, c'est assez déconcertant en effet.
    Mais avec ETWTraceViewer, le seul problème, c'est que la liste des providers dans Vista est vraiment très longue...

    Citation Envoyé par pascal07 Voir le message
    Par contre, je n'arrive pas à logger les evenement ADO, bien que j'active le fournisseur AdoNetDiag ( mais moi dans mon soft, j'utilise ADO, pas .net, un rapport ? )
    Il faut activer le provider ADO. AdoNetDiag n'est qu'une passerelle. Tu peux l'utiliser même si tu n'es pas en dotDET.

    Et voila ce que retourne l'utilisation de mofcomp:

    D:\temp_Etw\mof>mofcomp adonetdiag.mof
    Compilateur MOF Microsoft (R) - Version 6.0.6000.16386
    Copyright (c) Microsoft Corp. 1997-2006. Tous droits réservés.
    Analyse du fichier MOF : adonetdiag.mof
    Analyse du fichier MOF effectuée
    Stockage des données...
    AVERTISSEMENT*: le fichier adonetdiag.mof ne contient pas #PRAGMA AUTORECOVER.
    Si l'espace de stockage WMI est reconstruit à l'avenir, le contenu de ce fichier
    MOF ne sera pas inclus dans le nouvel espace de stockage WMI.
    Pour inclure ce fichier MOF lorsque l'espace de stockage WMI est reconstruit aut
    omatiquement, placez l'instruction #PRAGMA AUTORECOVER dans la première ligne du
    fichier MOF.
    Terminé !
    Ce n'est qu'un avertissement. C'est normal.

    Sinon, pour finir, mon client a reformaté son vista, et juste remis mon logiciel, qui fonctionne alors très bien.
    Donc ton problème est résolu ! C'est le principal.

    Vive la " compatibilité Microsoft " ! ;-)
    Tu ne sais pas d'où vient le problème. Si ça se trouve, c'est un anti-virus, un utilitaire pour "securiser" son réseau, ou une bidouille antérieur du client dans la base de registre qui bloque le fonctionnenemt normal de ton appi.

  14. #14
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut
    ok, je vais essayer avec le " provider ADO ", juste pour voir & apprendre :-)

    Tu as peut être raison, c'est peut être un autre logiciel qui empèche le fct de mon logiciel, et oui, il me semble qu'il utilisait un serveur NAS de stockage.

    D'où cette question: Ou trouver les ports ( TCP et/ou UDP ) qu'il faut ouvrir pour assurer une connexion avec ADO ?

    Merci beaucoup pour tes articles ( très complexes, mais bien écrits ;-) )

    Pascal07

  15. #15
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Citation Envoyé par pascal07 Voir le message
    Ou trouver les ports ( TCP et/ou UDP ) qu'il faut ouvrir pour assurer une connexion avec ADO ?
    Ca ça dépend complètement du provider OLEDB que tu utilises.
    Pour de l'Access, tu utilises MS Jet. Il n'y a pas de serveur, c'est juste un accès fichier (donc tout ce qui surveille les fichiers peut interferrer).

    Après, ça dépend des protocoles de transport utilisés par ton provider OLEDB.

    Merci beaucoup pour tes articles ( très complexes, mais bien écrits ;-) )
    De rien !

  16. #16
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Points : 87
    Points
    87
    Par défaut
    Il faut activer le provider ADO. AdoNetDiag n'est qu'une passerelle. Tu peux l'utiliser même si tu n'es pas en dotDET.
    Je ne trouve pas ce provider dans la ( longue! ) liste sous Vista.
    Faut il l'activer avant ( ligne de commande ? )
    ou alors comment s'appelle t il exactement ?

    Merci
    Pascal07

Discussions similaires

  1. Activé les transactions par le fournisseur OLE DB "SQLNCLI"
    Par kika10 dans le forum Administration
    Réponses: 4
    Dernier message: 06/01/2014, 15h39
  2. Fournisseur OLE DB - Access
    Par Neewd dans le forum Visual Studio
    Réponses: 2
    Dernier message: 23/04/2012, 13h30
  3. Réponses: 3
    Dernier message: 28/04/2011, 09h29
  4. fournisseur OLE DB
    Par tjotreau dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/06/2007, 14h25
  5. Réponses: 4
    Dernier message: 07/04/2007, 14h58

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