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

Forms Oracle Discussion :

[Forms] pll fonction distante ORA-04067


Sujet :

Forms Oracle

  1. #1
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut [Forms] pll fonction distante ORA-04067
    Problème Oracle 9.2.0.6 :
    Base 1 : Une fonction F_TEST() qui select 2 tables et renvoie un varchar2
    Base 2 : DBLINK vers Base 1
    Une Forme : TRIGGER ON-ERROR appelle une fonction F_ERROR dans une librairie PLL
    Une Pll : Fonction F_ERROR appelle F_TEST()

    1/ J'ai créé un public synonym F_TEST for F_TEST@BASE1
    => ORA-04067 lorsque loggué sur Base2

    2/ sous TOAD, un appel F_TEST marche.

    3/ Si je déporte le code de F_ERROR (pll) dans le ON-ERROR (fmb)
    => ca marche !!

    4/ Si je crée la fonction sur Base2 (synonym sans le dblink)
    => ca marche (normal)

    Avez vous une idée ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    comment appelles tu ta fonction ?

    à partir du fmb tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto := fct_test (args ) ;
    par contre, la bibli n'étant ( pas connectée !) il faudrait peut être saisir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select fct_test (args ) into toto from dual;

    CDLT.

  3. #3
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par taska
    par contre, la bibli n'étant ( pas connectée !) il faudrait peut être saisir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select fct_test (args ) into toto from dual;
    CDLT.
    La bibli est forcemment connectée, sinon le select from dual ne marcherait pas.
    Le code de la bibli est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MESSAGE('ERREUR:' || F_TEST(145));
    Je ne peux pas modifier le code de la bibli (multi appli)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT f_test(145) INTO v_char from dual; 
    message('Erreur:' || v_char)
    Faudrait que je teste avec une copie de la bibli modifée comme ceci.

    Le souci c'est que ca marche très bien sur la Base1, mais pas sur la base2 en dblink.
    Quelle différence entre une bibli et une forme ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 349
    Points : 409
    Points
    409
    Par défaut
    Apparement cela ne vient pas de la PLL;

    J'ai trouvé ceci sur metalink :

    In Forms 6i and higher referencing a synonym to a database linked procedure / function will always fail. The reason for this is discussed in a number of bugs. For example:

    Bug 2718293 Abstract: NOT ABLE TO EXECUTE THE FUNCTION/PROCEDURE THROUGH DB LINK FROM FORMS

    Bug 5027172 Abstract: RUNTIME ERRORS ORA-4062/ORA-3113 AND ORA-2019 RELATED TO SYNONYM W/ DBLINK
    which wasBug 5027172 Abstract: RUNTIME ERRORS ORA-4062/ORA-3113 AND ORA-2019 RELATED TO SYNONYM W/ DBLINK
    which was closed as a duplicate of
    Bug 508327 Abstract: RPC: CLIENT-SIDE PROBLEM: SYNONYM-->FOO@DBLINK; WORKED WITH PL/SQL V1 ON CLIENT;
    Bug 5027172 - Runtime Errors Ora-4062/Ora-3113 And Ora-2019 Related To Synonym W/ Dblink

    Whenever form references a procedure / package that references a synonym with a database link, at runtime on of the following errors are received:
    ORA-4062 timestamp/signature of %s has been changed (When compiled against a local package / synonym and run against a database with a synonym that includes a DB link)

    Available workarounds:

    ---------------------

    Do not a synonym for packages, functions, procedures with a DBLINK. Define
    each of the necessary packages, functions, procedures locally.

    CDLT.

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Merci.

    En fait sur un autre prog, un developpeur avait d'autres soucis sur une procédure, on a créé une fonction, pareil.

    Je vais demander au dba d'avoir un accès à Métalink.. ca me manque.

    Je vais aussi chercher pourquoi ma premiere fonction a marché.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/04/2006, 09h12
  2. ora-04067
    Par genio dans le forum Oracle
    Réponses: 7
    Dernier message: 24/03/2006, 11h24
  3. validation form en fonction de plusieurs groupe de checkbox
    Par Steph777 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/01/2006, 12h00
  4. Réponses: 3
    Dernier message: 24/11/2005, 12h19
  5. affichage forme en fonction de la resolution de l'ecran
    Par shiners300 dans le forum C++Builder
    Réponses: 1
    Dernier message: 24/11/2004, 14h33

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