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

PL/SQL Oracle Discussion :

Utiliser la fonction sha1 dans une requête


Sujet :

PL/SQL Oracle

  1. #21
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Merci beaucoup pour toutes tes réponses.

    J'ai bien dropé de DAMIEN et fait une autorisation sur EXECUTE. Mais ça ne marche pas.

    J'ai donc tout mis la fonction get_hash... dans le sys pour tester et me voici avec toujours la meme erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Error starting at line 1 in command:
    SELECT get_sha1_hash_val(UTL_RAW.cast_to_raw ('tada')) FROM dual
    Error report:
    SQL Error: ORA-06521: PL/SQL : Erreur lors de la mise en correspondance de la fonction
    ORA-06512: à "SYSTEM.DBMS_CRYPTO_FFI", ligne 131
    ORA-06512: à "SYSTEM.DBMS_CRYPTO", ligne 69
    ORA-06512: à "SYSTEM.GET_SHA1_HASH_VAL", ligne 6
    06521. 00000 -  "PL/SQL: Error mapping function"
    *Cause:    An error was detected by PL/SQL trying to map the mentioned
               function dynamically.
    *Action:   Check the stacked error (if any) for more details.
    Apparemment il y a qqchose dans le DBMS_CRYPTO_FFI qui ne marche pas.

  2. #22
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Essaie d'exécuter cette requête sous SYS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DBMS_CRYPTO.HASH (utl_raw.cast_to_raw('tada'), :sh1) FROM dual;
    J'ai regardé sur metalink, je n'ai pas vu de problème de ce genre avec le package DBMS_CRYPTO.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #23
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Je viens de tester sous sqlplus, voici le résultat :

    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
    21
    22
    23
     
    XXX@XXX:~$  sqlplus system/XXXX@XXX/ORCL
     
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 13 15:12:29 2008
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
     
    Connected to:
    Oracle Database 10g Release 10.2.0.3.0 - Production
     
    SQL> var sh1 number;
    exec :sh1 := DBMS_CRYPTO.hash_sh1;
    SELECT DBMS_CRYPTO.HASH (utl_raw.cast_to_raw('tada'), :sh1) FROM dual;SQL>
    PL/SQL procedure successfully completed.
     
    SQL> SELECT DBMS_CRYPTO.HASH (utl_raw.cast_to_raw('tada'), :sh1) FROM dual;
    SELECT DBMS_CRYPTO.HASH (utl_raw.cast_to_raw('tada'), :sh1) FROM dual
           *
    ERROR at line 1:
    ORA-06521: PL/SQL: Error mapping function
    ORA-06512: at "SYSTEM.DBMS_CRYPTO_FFI", line 131
    ORA-06512: at "SYSTEM.DBMS_CRYPTO", line 69

  4. #24
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Après avoir fait un GRANT execute sur mon user via le SYS,
    je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SQL> var sh1 number;
    SQL> exec :sh1 := DBMS_CRYPTO.hash_sh1;
    BEGIN :sh1 := DBMS_CRYPTO.hash_sh1; END;
     
                  *
    ERROR at line 1:
    ORA-06550: line 1, column 15:
    PLS-00201: identifier 'DBMS_CRYPTO' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored

  5. #25
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Apparemment le problème est carrément ailleurs...

    J'essai d'utiliser DBMS_CRYPTO ou DBMS_OBFUSCATION_TOOLKIT

    Dans tous les cas l'erreur est la même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-06521: PL/SQL: Error mapping function

  6. #26
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Après de nombreux essais infructueux, en suivant de très nombreux topics, le problème est toujours le même :
    On finit pas avoir ça (seules les lignes d'erreur changent suivant la fonction que l'on utilise dans le package) :
    Pourtant je lance bien le tout avec l'utilisateur SYSTEM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Error report:
    ORA-06521: PL/SQL : Erreur lors de la mise en correspondance de la fonction
    ORA-06512: à "SYSTEM.DBMS_CRYPTO_FFI", ligne 159
    ORA-06512: à "SYSTEM.DBMS_CRYPTO", ligne 83
    ORA-06512: à ligne 6
    06521. 00000 -  "PL/SQL: Error mapping function"
    *Cause:    An error was detected by PL/SQL trying to map the mentioned
               function dynamically.
    *Action:   Check the stacked error (if any) for more details.

  7. #27
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Je viens de trouver une note sur metalink qui correspond à ton problème :
    Note 290694.1

    Cela est du à la présence du package dans un autre user que SYS.
    => il faut donc que tu le droppes dans tous les users autres que SYS.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  8. #28
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Voila ce que j'ai, on est bien d'accord, je dois le virer de SYSTEM ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    OWNER                          OBJECT_NAME                    OBJECT_TYPE         
    ------------------------------ ------------------------------ ------------------- 
    SYS                            DBMS_CRYPTO                    PACKAGE             
    SYS                            DBMS_CRYPTO                    PACKAGE BODY        
    PUBLIC                         DBMS_CRYPTO                    SYNONYM             
    SYSTEM                         DBMS_CRYPTO                    PACKAGE             
    SYSTEM                         DBMS_CRYPTO                    PACKAGE BODY        
     
    5 rows selected

  9. #29
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Oui (en tout cas c'est ce qui est noté dans la note metalink)
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  10. #30
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Voila c'est dropé
    J'essai de mettre les droits, je reviens vers toi si ça ne marche pas.

    Merci de ton aide

  11. #31
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    Pour la connexion au SYS as SYSDBA, j'ai un problème de privilège insuffisant, je suis en train de chercher comment faire mais j'ai peur de ne pas connaitre le pass pour l'utilisateur SYS.

  12. #32
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Points : 350
    Points
    350
    Par défaut
    C'est bon c'était bien ça ! Merci plaineR de ton aide et de m'avoir consacré de ton temps.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [PostgreSQL] Utiliser une fonction PHP dans une requête SQL
    Par Toiine dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/11/2014, 12h16
  2. utilisation de la fonction Partdate() dans une requête
    Par jm6570 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/02/2010, 11h55
  3. Utiliser fonction utilisateur dans une requête
    Par schoubz dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/06/2008, 20h30
  4. [Requête] Utilisation d'une fonction perso dans une requête
    Par Julien Dufour dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2007, 09h53
  5. utilisation de fonction membre dans une autre
    Par tcharles dans le forum C++
    Réponses: 4
    Dernier message: 14/12/2005, 17h19

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