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

MS SQL Server Discussion :

Erreur 3706 (pb ADO ?)


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut Erreur 3706 (pb ADO ?)
    Bonjour,

    Je développe une application VB6 - SQL Server 2000.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public PuAdoConnection As ADODB.Connection
    ...
    Set PuAdoConnection = New ADODB.Connection
    PuAdoConnection.Open "Provider=sqloledb.1;Data Source=xxx;Initial Catalog=xxx;user id=sa;pwd=xxx;"
    Chez 1 client, je rencontre l'erreur 3706 "Impossible de trouver le fournisseur. Il est peut-être mal installé".
    J'ai réinstallé "Connectivités" via le CD de SQL Server 2000, et aussi le mdac 2.8, mais c'est pareil.
    Par ailleurs, la connexion à la base via ODBC fonctionne, ainsi que "Enterprise Manager" :\

    Tout marchait parfaitement avant sur ce même pc, la seule chose qui s'est passé c'est l'installation puis désintallation d'une appli ou d'un émulateur AS400 (j'ai pas bien compris) par son service informatique.

    Est-ce que quelqu'un a une idée ?

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Personne aurait une piste svp ?

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public cnx As ADODB.Connection
     
    On Error GoTo erreur
        Set cnx = New ADODB.Connection
     
        cnx.ConnectionString = "DSN=DataBase"
        cnx.Open
        Exit Sub
    erreur:
    If Err.Number <> 0 Then
        MsgBox "Votre source de données n'est pas bien définie ou le chemin " & vbNewLine & "à la base de donnée est invalide !!!", vbCritical, "Connexion échouée"
     
    End If
    End Sub
    ensuite tu configure l'ODBC
    si le pb de connexion persiste il faut revoir ton DNS

    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    En fait je ne veux pas changer mon code à cause d'un client, ça marche partout ailleurs.

    Je préfère essayer de comprendre le problème sur ce poste, pour le dépanner ensuite.

    Merci pour la réponse en tout cas.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    si tel est le cas, tu dois voir le pb du côté de l'authentification
    si elle est windows essai de voir le DNS du poste client
    si tu n'as pas de DNS sur ton réseau ds ce cas tu inscript l'ip du serveur comme DNS chez le client

    on va trouver je suis sure

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Je saisis pas vraiment le lien avec DNS.
    Connexions par ODBC et Enterprise Manager fonctionnent très bien.

    Le client a déjà l'ip du serveur en DNS.

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    ne pas afficher l'erreur 3706 du control adodc par ce code. concerne l'erreur "ne peut executer l'action qd l'objet est ouvert ou fermé"

    lorsqu'une erreur 3706 du controle adodc se produit y a un message qu'on ne peut eviter (un bouton ok). il faut mettre ce code dans l'evenement error du adodc pour éviter qu'il s'affiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If ErrorNumber = 3706 Then 
       fCancelDisplay = True 
    End If 
     
    'vous aurez donc : 
     
    Private Sub Data1_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) 
        If ErrorNumber = 3706 Then 
           fCancelDisplay = True 
        End If 
    End Sub
    'pensez à un mettre un "on error resume next" juste avant l'instruction qui provoque l'erreur 3706

    j'ai pu t'avoir ça .àa ne regle pas le pb mais ça evite que l'application ce bloque
    et verra si le poste client peut se connecter.
    inspire toi de ce code

    merci

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Je crois qu'on ne s'est pas bien compris
    Je cherche pas à cacher le problème, mais le résoudre, parce que si je ne peux pas me connecter à la base, je ne peux rien faire. C'est le point de départ de tout.

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    je comprends mon frère et je cherche une solution
    ton poste delire vraiment mais............

    merci

  10. #10
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6
    Par défaut
    Entreprise Manager comme Query Analyseur et oSQL travaillent avec ODBC. S'il marche c'est normal car à lire votre message d'erreur c'est le middelware OLEdb qui en à pris un coup...

    Vous devez le réinstaller.

    A +

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Ok, merci pour les réponses.

    J'ai bien réinstallé mdac 2.8 et "Connectivités" à partir du CD d'install, mais ça change rien.
    Y a-t-il un moyen de désinstaller les fichiers en place avant de réinstaller pour être bien sûr ?

  12. #12
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    verifier un peu ces quelque point sur ton système

    Si vous utilisez le nom de la machine comme source de données, vérifiez que votre réseau
    possède un serveur de nom de domaine.


    Attention, il arrive que vous vous connectez sous windows avec un utilisateur qui possède moins de droits
    pour modifier les données de la base de données de ce serveur.

    Vérifiez que vous utilisez le bon type d'autentification SQL Serveur pour votre chaîne de connexion

    Vérifiez que votre serveur ne se trouve pas derrière un serveur proxy.
    Vérifier que votre serveur ne se trouve pas derrière un Firewall.

  13. #13
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par yan77
    Ok, merci pour les réponses.
    J'ai bien réinstallé mdac 2.8 et "Connectivités" à partir du CD d'install, mais ça change rien.
    Y a-t-il un moyen de désinstaller les fichiers en place avant de réinstaller pour être bien sûr ?
    Mais le MDAC ne t'installe que le fournisseur MSDASQL.1 !

    Et comme vous l'a précisé SQLPro, vous avez un problème de provider.
    Quand au nom du fichier, il s'appelle : sqlsrv32.dll

    Bonne chance.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Ah ok, désolé je maitrise pas bien cette partie des choses.

    Comment résoudre alors le pb de provider ? Ca se réinstalle ?

    Merci

  15. #15
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    1-Copie la dll sur un poste ou sa fonction bien.
    2-Redémarre en mode sans échec puis cole le fichier
    3-Arrête et redemarre windows en mode normale et réessaie.

    Toutes fois, je te rappelle encore que je préfère la solution de Loemba vue qu'il est très portable et les affaires de providers ne te regarde pas.

    Qu'est ce qui va se produire le jour ou vous allez changer le mot de passe de votre compte de connection à SQL Serveur ?

    Vous serez obligé de récompiler votre application et de remplacer l'exécutable.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par WOLO Laurent
    Qu'est ce qui va se produire le jour ou vous allez changer le mot de passe de votre compte de connection à SQL Serveur ?

    Vous serez obligé de récompiler votre application et de remplacer l'exécutable.
    La chaîne de connexion n'est pas en dur dans le code, heureusement. Il est dans un fichier ini.

    Citation Envoyé par WOLO Laurent
    Toutes fois, je te rappelle encore que je préfère la solution de Loemba vue qu'il est très portable et les affaires de providers ne te regarde pas.
    La connexion est le point de départ de tout mon programme, donc que ça envoie un message personnalisé disant qu'elle ne peut pas se faire ou l'erreur 3706, ça revient au même.

    Je vais essayer le remplacement de dll malgré tout.

    Merci

  17. #17
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Mais si nous savions depuis ce temps là que la chaine de connection se trouve dans un fichier ini, nous t'aurons dit de remplacer le provider par MDASQL.1 et c'est tout.

  18. #18
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 47
    Points : 56
    Points
    56
    Par défaut
    la salution de wolo est bien au pire tu reinstalles les conposants client de sql sur ce poste et en installant le dll se reconstituera.
    merci

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par WOLO Laurent
    Mais si nous savions depuis ce temps là que la chaine de connection se trouve dans un fichier ini, nous t'aurons dit de remplacer le provider par MDASQL.1 et c'est tout.
    J'ai pas pensé à précisé.

    Marche pas non plus, toujours le même message
    Je crois que je vais leur demander de formatter le pc, ça leur apprendra

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Juste pour info, en utilisant le MDAC Repair Tool trouvé ici http://www.macropool.com/en/download/mdac_xp_sp2.html, ça refonctionne.

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

Discussions similaires

  1. [Débutant] Gestion erreurs WCF et ADO.net
    Par davide1706 dans le forum C#
    Réponses: 1
    Dernier message: 17/02/2012, 17h04
  2. Erreur de lecture ado en asp sous IIS XP/Pro
    Par aladin95 dans le forum ASP
    Réponses: 4
    Dernier message: 09/02/2011, 15h26
  3. message d'erreur de connexion ado.net & sqlexpress
    Par mounim_taoufik dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/12/2009, 08h59
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37

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