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

Administration Firebird Discussion :

UDF fonction non reconnue


Sujet :

Administration Firebird

  1. #1
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut UDF fonction non reconnue
    Bonjour,

    Je rencontre un problème d'utilisation d'une UDF:

    Je suis sous Fb2.5 64.
    Je teste sous Ibexpert.
    Ma Dll complilée en 64 bits est enregistrée dans le répertoire UDF de firebird.

    La déclaration est la suivante, extrait de IbExpert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DECLARE EXTERNAL FUNCTION TESTUDF    VARCHAR(255) CHARACTER SET NONE NULL
    RETURNS INTEGER BY VALUE
    ENTRY_POINT 'LogFb' MODULE_NAME 'TraceFb.dll';
    Le code de ma dll est très simple, juste de quoi tester l'appel:
    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
     
    library TraceFb;
    uses
      System.SysUtils,
      System.Classes;
    {$R *.res}
    function LogFb(value: pchar): integer;cdecl;
    begin
         result:= -1;
         try
            result:= 0;
         except
         end;
    end;
    exports
           LogFb;
    begin
    end.
    Pour la tester j'ai une procedure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SET TERM ^ ;CREATE OR ALTER PROCEDURE PSCALLUDF 
    returns (
        result integer)
    as
    begin
         select testudf(fdTest) from tbltest into :result;
    end^
    SET TERM ; ^
    Quand je tente de compliler ma PS j'ai le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Invalid token.
    invalid request BLR at offset 48.
    function TESTUDF is not defined.
    module name or entrypoint could not be found.
    Error while parsing procedure PSCALLUDF's BLR.
    Manifestement soit FB ne trouve pas la dll dans le dossier UDF soit c'est la fonction LogFb qui n'est pas trouvée.

    Mais pourquoi ?
    En sachant que j'ai regardé UDFaccess, que je l'ai changé la conf avec une entrée explicite:
    UdfAccess = 'C:\Program Files\Firebird\Firebird_2_5\UDF\'

    que j'ai aussi essayé en compilant la DLL en 32 bits.
    J'ai rebooté à chaque fois mon poste.

    Bref je sais plus où regarder !
    J'ai sûrement fait une erreur ou un oublis qq. part, mais là je ne vois pas.

    merci pour votre aide.
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

  2. #2
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Question:
    Ne serait ce pas du au fait que mon ibexpert est en 32 bits ?
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par castorcharly Voir le message
    Question:
    Ne serait ce pas du au fait que mon ibexpert est en 32 bits ?
    Pas du tout, IbExpert s'adresse au serveur Firebird et c'est ce dernier qui traite avec les dll qui lui sont "attachées". La dll doit être 64 bits et placée dans le répertoire adhoc (C:\Program Files\Firebird\Firebird_2_5\UDF\ pour une installation de Firebird 64 bits avec les paramètres par défaut).
    Seule FbClient.dll côté IbExpert doit être en 32 bits.

    Est ce que les dll d'UDF fournies par défaut sont utilisables ?
    Philippe.

  4. #4
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Exact,

    j'ai fait un declare sur ABS de fbudf.dll
    et ça me génère le même message d'erreur !
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

  5. #5
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Phil,

    Du coup j'ai désinstallé mon serveur FB et je l'ai réinstallé et là ça marche
    avec les UDF fournie et la mienne !

    Comprends pas pourquoi, les chemins sont les mêmes, la version est la même,
    le type d'install est le même en classic, bref tout pareil.

    donne ma langue au chat
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

  6. #6
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par castorcharly Voir le message
    Du coup j'ai désinstallé mon serveur FB et je l'ai réinstallé et là ça marche avec les UDF fournie et la mienne !
    Problème de droits lors de la 1° installation ? Absence du runtime MSVC ?

    Cela dit, il y a une erreur sur la configuration précédente :
    Citation Envoyé par castorcharly Voir le message
    En sachant que j'ai regardé UDFaccess, que je l'ai changé la conf avec une entrée explicite:
    UdfAccess = 'C:\Program Files\Firebird\Firebird_2_5\UDF\'
    C'est : UdfAccess = Restrict C:\Program Files\Firebird\Firebird_2_5\UDF qu'il faut écrire et pas quote...
    Philippe.

  7. #7
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Pour les problèmes de droits, je n'y crois pas, c'est ma machine de dev.

    Absence Runtime MSVC, s'il est installé par le pack d'install que j'utilise,
    il y était, puisque c'est le même que j'ai utilisé : "Firebird-2.5.2.26540_0_x64.exe".

    Pour la restriction, tu as raison, j'ai fait une erreur, mais ça ne marchait pas non plus quand la restriction était désactivée par défaut:
    #UdfAccess = Restrict UDF

    Il sera difficile, maintenant que ça marche d'identifier le problème.
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je sais que c'est résolu et un peu tard pour répondre, mais aujourd'hui je me suis retrouvé dans la même "impasse" et donc je peux répondre a ton interrogation , à savoir :

    Du coup j'ai désinstallé mon serveur FB et je l'ai réinstallé et là ça marche
    avec les UDF fournie et la mienne !
    en fait il fallait tout simplement arrêter et redémarrer les services Firebird (ce qu'une ré-installation a fait)

    En fait mon impasse était légèrement différente, j'avais copié une dll UDF 32 bits au lieu d'une en 64 bits et ça , ça plante bien
    c'est en relisant ce post que ça a tilté ! par contre pour l'histoire de modification du fichier firebird.conf , il ne faut pas oublier de redémarrer le serveur Firebird pour que cette dernière soit prise en compte
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre actif
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 416
    Points : 299
    Points
    299
    Par défaut
    Merci SergioMaster, ça peut servir,
    mais ça fait un peu longtemps et il me semble que j'avais redémarré les services...
    De toute façon dans l'odre, je pense qu'il faut commencer par là avant de réinstaller,
    même si l'install de FB est simple et rapide.
    “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” Antoine de Saint-Exupéry.

    D1..D7-2005,2006-Xe2 Ent-XE7 archi-MsSql 2005..2008 & R2, FB 1.5..2.5.x.x -Win10,Win7/64-Xp-
    _____________________________________________________

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

Discussions similaires

  1. [histc][numel] Fonctions non reconnues
    Par yvesleb dans le forum MATLAB
    Réponses: 8
    Dernier message: 02/04/2007, 19h05
  2. [SOAP][PHP] WSDL, Fonction non reconnue
    Par zevince dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 18/01/2007, 11h17
  3. Réponses: 5
    Dernier message: 26/01/2006, 15h13
  4. [LDAP] Fonctions non reconnues
    Par Wormus dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/01/2006, 13h46
  5. [Configuration] Installation de PHP + Pbm de fonctions non reconnues
    Par BARBIER dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 23/11/2005, 10h54

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