Bonjour.
j'ai quelques problèmes pour mettre en oeuvre une fonction UDF.
Ecrite en C j'ai crée une dll que j'ai placé dans un répertoire D:\firebird15BDD de mon disque dur .
Ci joint la fonction C écrite :
J'ai déclaré la fonction dans ma base de données en utilisant un script SQL sous IBEXPERT comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 short __stdcall SgbdUdfTestBit( short s_MotATester, short s_Position) { return ( (s_MotATester & s_Position) != 0 ); }
J'appelle ma fonction dans une procedure stockée comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 DECLARE EXTERNAL FUNCTION SGBDTESTBIT SMALLINT, SMALLINT RETURNS SMALLINT BY VALUE ENTRY_POINT 'SgbdUdfTestBit' MODULE_NAME 'D:\Firebird15bdd\SgbdUdf.dll'
Au moment du Commit de la procédure stockée j'obtiens le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part var_restest = sgbdtestbit(:droitscumules,:var_position_droits);
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Invalid token Invalid request BLR at offset 418 function SGBDTESTBIT is not defined module name or entrypoint could not be founded
Pouvez vous m'aider à trouver ce qui manque à la reconnaissance de ma fonction ?
Partager