p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre à l'essai
    Inscrit en
    avril 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 65
    Points : 23
    Points
    23

    Par défaut ExtProc une librairie sur un serveur distant

    Bonjour à tous,
    Presque toute la question est dans le titre:
    J'aimerais savoir s'il est possible d'utiliser Extproc pour charger une librairie externe si celle-ci est située sur un serveur autre que le serveur BDD Oracle?
    Via chemin UNC ?

    ces liens laisse penser qu'il faut que la DLL se situe dans Oracle/Bin...
    http://dbmentors.blogspot.fr/2011/10...-external.html
    http://dbmentors.blogspot.fr/2011/10...-dll-from.html

    Merci par avance pour votre aide

  2. #2
    Expert Confirmé Sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 946
    Points : 9 817
    Points
    9 817

    Par défaut

    Pense pas et y compris ou ça marchera je me demanderais bien qu’est-ce je suis en train de faire ?
    Qu’est-ce que vous essayez d’accomplir ?

  3. #3
    Membre à l'essai
    Inscrit en
    avril 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 65
    Points : 23
    Points
    23

    Par défaut

    Salut et merci de ton attention,
    Je n'essaye rien de spéciale, je dois faire une procédure qui extrait des données et utilise une DLL en C pour signer le tout.
    Seulement dans mon architecture serveur d'application != serveur BDD...
    La DLL se trouve sur le serveur d'appli.

    J'ai fait
    CREATE OR REPLACE LIBRARY Crypto
    AS
    '\\SRV_APPLI\Outils\maDll.dll';
    Qui a renvoyé :
    "bloc anonyme terminé"

    Cela parait donc fonctionner... Comment pourrais-je vérifier que la lib a bien été créé dans Oracle? Où sont-elles stockés?

    Merci

  4. #4
    Expert Confirmé Sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 946
    Points : 9 817
    Points
    9 817

    Par défaut

    L’instruction create library ne fait que créer une « bibliothèque logique » au niveau de la base; aucune vérification de l’existence ou du fonctionnement ou de la compatibilité de la bibliothèque n’est faite. C’est juste un nom, point!

    Si vous ne disposez pas du code source de votre DLL écrit en C pour le compiler sur le serveur de base des données oubliez cette solution.

    Probablement que la seule chose à faire sera de créer un service Web sur la machine distante et de l’appeler à partir de votre serveur de base des données. Mais face à la complexité de cette solution il faut réfléchir à deux fois.

  5. #5
    Membre à l'essai
    Inscrit en
    avril 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 65
    Points : 23
    Points
    23

    Par défaut

    J'ai bien le code source de la DLL mais pour des soucis de déploiements elle est posée sur le serveur d'appli...

    Pour l'instant je choppe l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ORA-28575: connexion RPC avec l''agent de procédure externe impossible
    28575. 00000 -  "unable to open RPC connection to external procedure agent"
    *Cause:    Initialization of a network connection to the extproc agent did
                   not succeed. This problem can be caused by network problems,
                   incorrect listener configuration, or incorrect transfer code.
    *Action:   Check listener configuration in LISTENER.ORA and TNSNAMES.ORA, or
                   check Oracle Names Server.
    Voilà le Listener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MON_SRV_BDD)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = extproc_key))
        )
      )
     
    ADR_BASE_LISTENER = D:\oracle
     
    SID_LIST_EXTERNAL_PROCEDURE_LISTENER =
    (SID_LIST =
         (SID_DESC =
            (SID_NAME = extproc_agent)
            (ORACLE_HOME = D:\oracle\ORA11GR2)
            (PROGRAM = extproc)
    	(ENVS="EXTPROC_DLLS=\\MON_SRV_APPLI\Outils\maDLL.dll")
         )
    )
    Et le TnsNames :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    EXTPROC_CONNECTION_DATA=
      (DESCRIPTION=
       (ADDRESS=(PROTOCOL=ipc)(KEY=extproc_key))
       (CONNECT_DATA=
       (SID=extproc_agent)
        )
      )  
     
    + chaines de connexion aux != instances
    Pour rappel j'essaye d'utiliser une DLL présente sur un serveur différent du serveur de BDD.
    J'ai créé la lib dans Oracle comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      CREATE OR REPLACE LIBRARY Crypto_KMS
         AS
              '\\SRV_APPLI\Outils\maDll.dll';
    J'espère que quelqu'un aura une idée...
    J'ai réessayé en mettant la DLL en local mais j'obtiens la même erreur avec la DLL sous Z:\MaDLL.dll... J'ai dû louper quelquechose

    Merci pour votre aide

Discussions similaires

  1. [PHP 5.3] tester l’existence d'une image sur un serveur distant
    Par van-bom dans le forum Langage
    Réponses: 1
    Dernier message: 18/09/2013, 13h53
  2. Réponses: 9
    Dernier message: 29/04/2011, 23h58
  3. Vérifier la présence d'une vidéo sur un serveur distant
    Par matperino dans le forum Fichiers
    Réponses: 7
    Dernier message: 03/10/2008, 17h39
  4. Installer une DLL sur un serveur distant
    Par Immobilis dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/08/2008, 15h14
  5. Réponses: 3
    Dernier message: 21/10/2005, 09h54

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