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

Firebird Discussion :

Existe-t-il un tutoriel pour les "User Define Functions" ?


Sujet :

Firebird

  1. #1
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 479
    Points : 267
    Points
    267
    Par défaut Existe-t-il un tutoriel pour les "User Define Functions" ?
    Bonjour
    Je cherche une référence complète indiquant les étapes nécessaires et suffisantes pour utiliser des UDF.
    Il me semble qu'outre la déclaration explicite du genre de celle qui suit :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DECLARE EXTERNAL FUNCTION SUBSTR
    cstring(80), smallint, smallint
    RETURNS cstring(80)
    ENTRY_POINT 'IB_UDF_substr'
    MODULE_NAME 'ib_udf';
    il est nécessaire de modifier un paramètre dans firebird.conf.
    il me semble.

    Mais d'une part cela ne suffit pas car
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr('firebird',1,5) from rdb$database
    entraine
    function SUBSTR is not defined
    et d'autre part j'aimerais obtenir la liste des fonctions externes prédéfinies dans la version de Firebird que j'utilise (2.1).

    Je sais que c'est une version obsolète mais des centaines de mes clients l'exploitent et je dois maintenir un environnement cohérent aux leurs.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    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 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par frantzgac Voir le message
    Je cherche une référence complète indiquant les étapes nécessaires et suffisantes pour utiliser des UDF.
    je ne suis pas sûr de ce qui est demandé
    écrire i.e https://firebirdsql.org/en/writing-udfs-for-interbase/
    ou juste installer ?
    http://freeadhocudf.org/index_fra.html << en plus d'une bonne documentation, une très bonne bibliothèque hélas mal portée vers 64 bits

    Et, tout d'abord, il y a beaucoup d'UDF, en particulier les ib_udf.dll sont déjà redéfines dans des fonctions internes.
    De mon côté, je n'ai jamais utilisé les ib_udf remplacées par les fonctions internes, et mes fonctions persos sont dans une dll (écrite avec delphi) et dans le sous répertoire UDF (en 32bits pour un firebird server version 32 bits, très important le nombre de bits)

    Citation Envoyé par frantzgac Voir le message
    Il me semble qu'outre la déclaration explicite du genre de celle qui suit ...
    Il est nécessaire de modifier un paramètre dans firebird.conf.
    pour info sous firebird 3.0 (en restrict UDF) la déclaration indiquée fonctionne

    Alors cela dépend des versions (les UDF ont même été classées comme dépréciées avec la version 4)
    disons que, effectivement, il faut faire attention à ce qui est indiqué dans le firebird.conf
    un UdfAccess = Restrict UDF (ce que je conseille) n'ira chercher que dans le sous-répertoire UDF de l'installation firebird



    Sinon lorsque UDFAccess est à full, il me semble que pour la déclaration de la dll, il faut le chemin complet de la dll dans le module name

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr('firebird',1,5) from rdb$database
    remplacable par SELECT SUBSTRING('Firebird' FROM 1 FOR 5) from rdb$database
    et d'autre part, j'aimerais obtenir la liste des fonctions externes prédéfinies dans la version de Firebird que j'utilise (2.1).
    https://firebirdsql.org/refdocs/lang...1-intfunc.html

    Je sais que c'est une version obsolète mais des centaines de mes clients l'exploitent et je dois maintenir un environnement cohérent aux leurs.
    Il n'y a aucune raison de ne pas passer à la 2.5, un simple backup en 2.1 puis une installation de la 2.5 et un restore ne pose aucun problème
    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2017, 00h01
  2. DB2 Z/OS 9.1 - User Defined Fonction
    Par SuperWaza dans le forum DB2
    Réponses: 6
    Dernier message: 18/08/2011, 12h53
  3. User Defined Function (UDF)
    Par mondelphi dans le forum SQL
    Réponses: 3
    Dernier message: 22/04/2005, 11h22
  4. INSO Filter : "USER-defined exception" avec ctx_do
    Par Wiztiti dans le forum Oracle
    Réponses: 2
    Dernier message: 01/06/2004, 17h14
  5. USER DEFINE FONCTION : PB éxécution requête
    Par juelo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 26/01/2004, 12h12

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