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

VB 6 et antérieur Discussion :

[VB]DataEnvironment et erreurs de connections


Sujet :

VB 6 et antérieur

  1. #1
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut [VB]DataEnvironment et erreurs de connections
    Bonjour à toutes et à tous,

    Petit pb assez étrange à résoudre :

    J'ai développé un programme basé sur un DataEnvironment pour maintenir deux tables dans une base Oracle 9.2 (insertion, modification et suppression d'enregistrempents).

    J'utilise une connexion ODBC pour me connecter à la BDD.

    En fonction des infos de login saisies par l'utilisateur, j'ouvre ma connexion avec le code suivant (rien de bien extraordinaire, en fait) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    strConn = "Provider=MSDASQL.1;User ID=" & strUserName & ";Password=" & strPassword & ";Persist Security Info=False;Data Source=" & strBDD
     
    With deMonDataEnvir.cnMaConnexion
        .ConnectionString = strConn
        .Open
    End With
    Tout est OK en mode DESIGN (exécution à l'intérieur de VB), alors qu'une fois compilé en EXE, mon programme me génère des erreurs de connections :

    ORA-12154: TNS : l'adresse symbolique n'a pas pu être résolue
    Mon serveur Oracle est bien accesible TNSPING répond bien, et je me connecte sans pb à ma base avec SQLPLUS.

    Les tests de connection de la configuration ODBC sont OK eux aussi.

    En mode "runtime", le DataEnvironment ne semble pas se comporter comme en mode "design".

    Je n'ai pas trouvé d'infos pour m'aider sur le sujet.

    J'ai même essayé de changer le Provider et de passer par le driver OLEDB pour Oracle en changeant ma chaîne de connection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strConn = "Provider=OraOLEDB.Oracle.1;User ID=" & strUserName & ";Password=" & strPassword & ";Data Source=" & strBDD
    Mais c'est kif-kif...

    Avez-vous des idées ?

    Vincent

  2. #2
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    re-Salut,

    Est-ce que vous savez si le driver OLE pour ODBC s'appuie indirectement sur les DLL OLE DB pour Oracle ?

    Est-ce qu'il y a des limitations pour Oracle 9.2 ?

    J'ai lu sur le site MSDN qu'il fallait qu'il n'y ait qu'un seul client Oracle sur la machine car le driver OLE ne pourrait pas pointer vers l'un ou vers l'autre (ie client Oracle 8 et client Oracle 9)
    => cela pourrait peut-être expliquer le pb de TNS introuvable...

    Nénamoins, j'ai essayé sur plusieurs postes avec plusieurs ou un seul client Oracle, c'est la même chose...

    Any idea ?

    Vincent

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Je ne connais pas du tout Oracle, mais je connais bien le DE, qui pose parfois qques soucis

    As-tu essayé avec une simple connexion ADO, pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim cnx as ADODB.Connection
     
    strConn = "Provider=MSDASQL.1;User ID=" & strUserName & ";Password=" & strPassword & ";Persist Security Info=False;Data Source=" & strBDD 
     
    Set cnx = New ADODB.Connection
    cnx.Open
    Compile et teste pour voir si tu as toujours une erreur, sinon, j'ai pas d'autre idée
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Salut Thierry,

    Bonne idée que tu as eu là.

    Malheureusement j'ai le même comportement avec la connexion ADO "pure" : en design c'est OK, en run c'est KO !

    => le problème ne semble pas lié au DE

    Par contre j'ai eu un message d'erreur supplémentaire dans cnx.errors :

    [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
    Je ne suis pas certain que ça nous aide car ce doit être le message d'erreur de la couche ODBC suite au message d'erreur Oracle.

    hum, hum, c'est troublant. Les connexions ADO pour Oracle j'en ai déjà fait "à la pelle".

    En revanche, c'est la première avec cette version d'Oracle... Peut-être est-ce qu'il me faut un patch... patch MDAC ? patch client Oracle ?

    Je vais chercher de ce côté là...

    A+

    VinceNT

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    y a t'il d'autres paramètres qui changent lors de tes deux éxécution à part le mode d'éxécution?
    (différence de User par exemple)


    Anthémios

  6. #6
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    non, non,

    même user, même mot de passe et même DSN

    8)

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Si tu récupères la chaine de connection à l'aide d'un msgbox, les deux modes d'éxécution te ramènent-ils la même chose

  8. #8
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    en DESIGN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Provider=MSDASQL.1;Persist Security Info=False;User ID=anteor;Data Source=AVPS4;Extended Properties="DSN=AVPS4;UID=anteor;DBQ=AVPS4 ;DBA=W;APA=F;EXC=F;FEN=T;QTO=F;FRC=10;FDL=10;LOB=T;RST=T;BTD=T;BAM=IfAllSuccessful;NUM=NLS;DPM=T;MTS=T;MDI=F;CSR=T;FWC=F;FBS=64000;TLO=O;"
    en RUN

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Provider=MSDASQL.1;Persist Security Info=False;
    comme la connection a échoué en mode RUN, il n'y a rien de plus dans la chaine de connexion

    Par contre, j'ai une question : dans mon DE, sur mon objet connexion, j'ai des propriétés

    DesignPromptBehavior, DesignPassword, DesignUserName, DesignSaveAuthentication
    et

    RunPromptBehavior, RunPassword, RunUserName, RunSaveAuthentication
    les propriétés xxxBehavior acceptent les valeurs suivantes :

    1 = adPromptAlways
    2 = adPromptComplete
    3 = adPromptCompleteRequired
    4 = adPromptNever
    Je n'ai pas trouvé de doc sur ces constantes, et notamment la différence entre adPromptComplete et adPromptCompleteRequired

    Quelqu'un connait-il ces différences ?

    VinceNT

  9. #9
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    re-Salut,

    Toujours bloqué avec ce #!%@§# plantage...

    J'ai essayé d'utiliser d'autres pilotes ODBC que celui fourni par Oracle (paramétrage de ma connection ODBC).

    J'ai essayé des drivers ODBC pour Oracle fournis par Crystal Reports (en fait DataDirect) ou Microsoft. J'ai toujours la même erreur !

    En revanche, j'ai eu un fichier SQLNET.LOG qui a été généré et qui contient la trace suivante :

    ***********************************************************************
    Fatal NI connect error 6413, connecting to:
    (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=BEQ)(PROGRAM=oracle)(ARGV0=oraclePRP3)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')))(CONNECT_DATA=(SID=PRP3)(CID=(PROGRAM=T:\Developpement VB\Maintenance table SITE_FACTURATION\PRG_EDIT_SITE_FACTURATION.exe)(HOST=MVFLEURY)(USER=v.vermorel))))

    VERSION INFORMATION:
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    Time: 31-JAN-2006 17:00:36
    Tracing not turned on.
    C'est comme si le pilote ODBC invoquait la couche NET d'Oracle et que le client Oracle ouvrait une connexion vers le mauvais TNS (PRP3 au lieu de AVPS4), avec mon login Windows par défaut (au lieu de la valeur de ma variable strUser)...

    Le pb semble donc bien venir du client Oracle 9.2. Il doit y avoir un paramétrage qui cloche pour que ma connection ADO en RUNTIME soit initiée avec des valeurs de login par défaut autres que celles que je lui passe par code...

    Qu'en pensez-vous ?


  10. #10
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Bon ben j'avance petit pas par petit pas.

    Mon pb ne semble pas lié au code VB, mais au client Oracle.

    J'ai fait un test sur une autre machine qui a un client Oracle 8i, et mon prg fonctionne en RUNTIME. Ouf ! ce n'est pas un pb de codage VB, ni de références au DataEnvironment...

    Par contre, je ne sais pas quel paramétrage il faut que je change sur mon client Oracle...

    J'ai copié ce post sur le forum Oracle, mais pas de réponse...

    Savez-vous si il existe un patch pour faire fonctionner MDAC (c'est à dire ADO, DE, OLE DB...) et Oracle 9.2 ?

    Savez-vous si on peut spécifier un mode de connection par défaut au niveau de la couche client Oracle ?

    :

  11. #11
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    Ouououououaaaououou j'ai trouvé !

    accrochez vous : mon pb était dû au nom de répertoire où est stocké mon EXE...

    J'avais des parenthèses dans le chemin, ce qui foutait la zone en mode RUNTIME pour la connexion à SQLNET !!!!!!

    Me demandez pas pourquoi !!!

    J'ai passé près de DEUX jours sur ce bug !



    l'informatique c'est vraiment un métier de M....

    Le côté positif , c'est que j'ai trouvé et que je peux débloquer mon client !

    A+

    Vincent

  12. #12
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par VVE
    Le côté positif , c'est que j'ai trouvé et que je peux débloquer mon client !
    bravo, content pout toi

    Sujet à gardé
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

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

Discussions similaires

  1. Erreur de connection...
    Par fabreizhad dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/05/2006, 01h51
  2. aide SVP : erreur de connection, tns protocol
    Par isidore dans le forum Connexions aux bases de données
    Réponses: 5
    Dernier message: 04/04/2006, 16h16
  3. [Access]: message d erreur: erreur de connection!!!
    Par amine15534 dans le forum Access
    Réponses: 1
    Dernier message: 21/03/2006, 14h45
  4. Erreur de connection avec une ADOTable
    Par Sunchaser dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/03/2006, 18h03
  5. [ADO.NET] Erreur de connection à une DB SQL
    Par BilTCD dans le forum ASP
    Réponses: 4
    Dernier message: 10/08/2005, 15h11

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