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

Oracle Discussion :

[ORA-12154] avec Data Environment sous Visual Basic 6


Sujet :

Oracle

  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 [ORA-12154] avec Data Environment sous Visual Basic 6
    Bonjour à toutes et à tous,

    Je post sur le forum Oracle un sujet que j'ai déjà soumis sur le formum Visual Basic :

    J'ai développé un programme Visual Basic 6 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...

    Sur le site de Microsoft il est spécifié que le driver OLE pour ODBC s'appuie sur le driver OLE pour Oracle. Celui-ce ne fonctionne pas s'il y a plusieurs client oracle installés en paralèlle sur ma machine. Ce n'est pas mon cas (uniquement client Oracle 9.2). Y-a-t'il d'autres limitations ?

    J'ai trouvé de la doc concernant les DLL utilisé par VB, mais la version Oracle 9 n'est pas indiquée. Est-elle supportée ?

    Sur le site MSDN, un lien vers ftp://oracle-ftp.oracle.com/ était censé me permettre de télécharger des patches fournis par Oracle. Je n'ai rien trouvé...

    Avez-vous des idées ?

    Merci de vos infos

    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
    Je publie ici une copie du post du forum VB...

    J'ai trouvé des erreurs qui sont plus du ressort d'Oracle. Avez-vous des tuyaux pour moi SVP ?

    Vincent



    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 ?


  3. #3
    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
    J'ai fait un test sur une autre machine qui avait un client Oracle 8i.

    Mon programme fonctionne...

    Mon bug est donc lié au client Oracle 9.2 ou du moins à des options de configuration de SQLNET sur mon client 9.2...

    Peut-on définir un TNS par défaut ?
    Sous Oracle, peut-on utiliser l'authentification Windows ?
    A quel endroit définit-on ce mode d'authentification ?

    :

  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
    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

  5. #5
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Bravo
    Vous avez réussi à faire vivre ce sujet (question, réponses, conclusion) à vous tout seul
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

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

Discussions similaires

  1. Creer un etat avec hierarchie sous Visual basic 6
    Par FRED-SUCCES dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 31/10/2009, 09h16
  2. Réponses: 2
    Dernier message: 09/05/2008, 22h36
  3. Réponses: 1
    Dernier message: 09/05/2008, 05h53
  4. Importer external data sous visual basic
    Par sebastien06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/03/2008, 17h20
  5. [VB]Code couleur sous visual basic
    Par mauriiice dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/02/2006, 13h50

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