none
APPV + Oracle ODBC RRS feed

  • Question

  • Bonjour

    Je viens de séquencer une application qui nécessite un lien ODBC avec une base Oracle. Voici les actions réalisées

    post séquençage

    • Création de lien ODBC Dummy

    Lancement du séquenceur

    • Installation des drivers Oracle 10i pour microsoft (copie des TNSnames et sqlOra.net
    • Création des liens ODBC pour la connexion de la base Oracle
    • Installation de mon application
    • lancement de l'application (ok tout fonctionne)
    • enregistrement du package
    • Publication du package sur le serveur APPV

    Mais voilà coté client APPV ça ne fonctionne pas, il ne trouve pas mes liens ODBC vers Oracle.

    J'ai effectué la même manipulation avec des bases CENTURA et je n'ai pas de problème.

    Est ce que quelqu'un a une idée.

    Merci d'avance


    yoann
    jeudi 13 janvier 2011 09:17

Réponses

  • Voici la solution à mon problème

     Contexte

     L’application APPLI Y est composée de base de données mdb (Access). Lorsque que l’on lance l’application (APPLI Y.bat) elle appelle Access puis se connecte à la base Oracle avec un lien ODBC préalablement créé (driver Oracle 10 nécessaire).

    En langage APPV voilà comment ça se traduit :

    Création d’une bulle APPLI.Y:

    • Installation des drivers oracle 10
    • Création du lien ODBC vers la base oracle APPLI Y
    • Installation de l’application APPLI Y

    Création d’une bulle office 2003:

    • Access
    •  Word
    •  Excel

    Jonction de la bulle office 2003 à la bulle APPLI.Y

    Publication de l’application :

    L’application se lance, ensuite Access et là, message d’erreur impossible de trouver la base oracle.

    Je lance ma bulle APPLI.Y en mode debugg, j’exécute mon ODBC Administrator qui est dans mon environnement virtuel et je constate qu’il fonctionne.

    Résolution :

    J’ai donc pris le problème à l’envers.

    J’ai lancé ma bulle APPLI;Y en mode debugge sur mon client (ce qui me permet d’accéder à ma bulle office), ensuite j’ai lancé Access. A partir d’Access j’ai ouvert ma base APPLI Y.mdb et là, surprise ça fonctionne.

    Deuxième test, je lance une invite de commande et j’indique Sfttray.exe /launch ‘’Microsoft Access…’’ B:\APPLI Y\APPLI Y.mdb ça fonctionne aussi.

     Reste à traduire ça dans mon environnement virtuel et à comprendre.

    Mon fichier APPLI Y.bat contient cette commande start ‘’q:\Off2K3.001\Office11\MSACCESS.EXE’’ B:\APPLI Y\APPLI Y.mdb. Le chemin est bon, et de toute façon Access se lance bien. Mais le résultat final n’est pas bon.

     Je décide de modifier ce chemin et de le remplacer par start sfttray .exe ‘’Microsoft Access 1.2….’’ B:\APPLI Y\APPLI Y.mdb. Souvenez-vous ce chemin fonctionnait, mais là pas mieux.

     Je décide d’inclure dans ma bulle Office mon lien ODBC oracle et de garder le chemin start sfttray .exe ‘’Microsoft Access 1.2….’’ B:\APPLI Y\APPLI Y.mdb dans ma bulle APPLI Y.mdb.

    Et voilà, tout fonctionne bien.

    Ce qu'il faut comprendre c'est que Access se connecte à la base Oracle et non l'application. Sauf que je n'ai pas accès au code du produit je ne suis donc pas en mesure de modifier dans la base Access l'appelle à mon lien ODBC oracle (sans doute une variable système). J'ai donc contourné le problème en forçant l'environnement virtuel d'Access à se lancer et non le code Binaire d'Access qui se trouve dans ma bulle Office 2003.


    yoann

    mardi 18 janvier 2011 21:37