OLEDB ou ODBC???

stef -  
sabrinayasmine15 Messages postés 3 Statut Membre -
Bonjour,

Dans tous mes progs, lorsque j'utilise ODBC, tout fonctionne correctement; lorsque j'utilise OLEDB, la connnection est super lente (30 sec pour une requete!!!!)

J'ai fait des test connection en VB sur SQL server ou connection via composant Delphi, c'est le même problème.

Savez-vous comment fonctionne OLEDB? Se connecte-t-il à un composant? une dll? un service windows??? Quelle différence avec ODBC?

Merci,

Stef

12 réponses

  1. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    c'est peut-etre un probleme réseau ???

    Non il n'y a pas de raisons.
    J'avais travaillé sur un programme en Delphi utilisant le composant natif MS SQL Server, et les temps de réponse étaient excellents (sur un serveur SQL distant).

    Je ne pense pas que ça soit un problème réseau, sinon tu aurais aussi des problème avec ODBC.

    Vérifie que le client et le serveur utilisent bien a même version (7/2000 ?).

    Applique aussi les services packs SQL Server sur le serveur et sur le client.
    (on peutl les télécharger sur le site de Microsoft)
    1
  2. sam3000 Messages postés 1226 Statut Membre 144
     
    salut
    moi je te conseille d'utiliser ADO (ODBC n'est pas un remplaçant mais une methode d'accès au "driver" base de donnees)
    0
  3. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Je confirme ce que dit sam3000.
    ADO et ADO.Net sont beaucoup plus rapides qu'ODBC.

    Par contre, c'est bizarre que OLEDB soit plus lent qu'ODBC.
    Le composant Delphi natif MS SQL Server devrait également être beaucoup plus rapide qu'ODBC.
    Ce n'est pas logique du tout.

    Quel mode d'authentification utilises-tu ?
    NTLM (intégré Windows) ou bien le traditionnel login/mot de passe ?

    Les 30 secondes, c'est pour le temps de connexion ou bien le temps d'exécution de la requête ?
    0
  4. stef
     
    les 30 secondes, c'est le temps d'execution d'une requete avec OLEDB; c'est completement inexploitable!!!
    (Avec ODBC, c'est 0,2 sec; ce qui est deja pas mal...)

    POur le mode d'identification; c'est login/mdp

    J'ai tout essayé :
    j'ai éxécuté le code sur plusieurs machines et dans plusieurs languages; c'est toujours pareil....

    c'est peut-etre un probleme réseau ???(le prog n'est pas sur la même machine que SQL Server)

    stef
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    Lance le "Client Network Utility", onglets "DB-Library options" et "Network libraries".

    Il est très important que le serveur et le client aient les mêmes versions.
    J'ai eu des comportant vraiment très bizarres quand les versions étaient différentes.

    Applique bien tous les derniers service pack de SQL server sur les deux.
    0
  7. stef
     
    le pack SQL est le dernier.
    J'ai exécuté le client et le server sur la meme machine-> a priori pas de problème de version...
    j'ai trouvé Client Network Utility", onglets "DB-Library options" sur le client : version 8.00.194; mais pour le serveur, ou est la version ????

    D'autre part, si je me connecte à mon server en utilisant l'IP 127.0.0.1, cela fonctionne normalement, mais pas lorsque je mets la véritable IP.

    J'ai peut-etre trouvé un indice :
    si je fais un ping IP, tout est normal; si je fais ping -a nom_de_machine, il repond au bout de plusieurs secondes...

    J'ai pas mal de prog utilisant cette connexion; il faut a tout prix que je trouve le problème.

    Merci !!!
    0
  8. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    oui donc c'est plutôt un problème réseau.

    Sans doute un problème de résolution de noms.
    Qu'est-ce que vous utilisez pour la résolution des noms ?
    workgroup, serveur de domaine, ActiveDirectory, DNS, autre ?

    A mon avis c'est de là que vient le problème.

    Workaround rapide:
    mettre adresse IP + nom du serveur dans le fichier hosts du client.
    0
  9. stef
     
    effectivement avec l'IP+Nom du server dans le fichier hosts, tout est OK!

    Il y a deux Serveurs de domaines (dont un seul est maitre) avec DNS + Active Directory + DHCP.
    Cependant, le serveur n'a pas l'air saturé (ni au niveau du processeur/RAM ni au niveau de l'acces réseau)
    0
  10. Vincent de Paul
     
    Comment importer des données Oraclle vers une application windev 12
    0
  11. emma
     
    bonjour a tous j'ai peut etre le meme pb
    je travail avec windev 11 et je doit ecrire dans une bd saari compta
    pendat toute la periode de test sur la machine l'execution des requetes se fesaient plutot bien maintenant que je veux tester sur le serveur sur le quel le fichier de bd se trouve les requetes sont devenues tres tres lentes
    0
  12. sabrinayasmine15 Messages postés 3 Statut Membre
     
    Bonjour tous le monde

    svp quelq'un pourrai t'il me donner la syntaxe exacte pour me connecter a la bdd sql server 2005 à partir de vs2008
    c#

    Merci d'avance
    0