Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2007, 17h54   #1
Membre régulier
 
Inscription : septembre 2003
Messages : 193
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 193
Points : 84
Points : 84
Par défaut Pb chemin udf

Le problème concerne les UDF sous Firebird ...
j'ai importé les UDF suivante sours firebird :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
 
DECLARE EXTERNAL FUNCTION ABS
    DOUBLE PRECISION
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'fn_abs' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION ADD_MONTHS
    TIMESTAMP,
    INTEGER
    RETURNS TIMESTAMP
    ENTRY_POINT 'fn_add_months' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION CEIL
    DOUBLE PRECISION
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'fn_ceil' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION CHR
    SMALLINT
    RETURNS CSTRING(1) FREE_IT
    ENTRY_POINT 'fn_chr' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION DECODE
    CSTRING(255),
    CSTRING(255),
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_decode' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION DUMP
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_rlower' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION FLOOR
    DOUBLE PRECISION
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'fn_floor' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION GREATEST
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_greatest' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION INSTR
    CSTRING(255),
    CSTRING(255),
    INTEGER,
    INTEGER
    RETURNS INTEGER BY VALUE
    ENTRY_POINT 'fn_instr' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION LAST_DAY
    TIMESTAMP
    RETURNS TIMESTAMP
    ENTRY_POINT 'fn_last_day' MODULE_NAME 'rfunc';
 
 
/* already in FB20 
DECLARE EXTERNAL FUNCTION LOWER
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_rlower' MODULE_NAME 'rfunc';
*/
 
DECLARE EXTERNAL FUNCTION LEAST
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_least' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION LPAD
    CSTRING(255),
    SMALLINT,
    CSTRING(1)
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'fn_padleft' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION LTRIM
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_ltrim' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION MOD
    INTEGER,
    INTEGER
    RETURNS INTEGER BY VALUE
    ENTRY_POINT 'fn_mod' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION NEXT_DAY
    TIMESTAMP,
    CSTRING(10)
RETURNS TIMESTAMP
ENTRY_POINT 'fn_next_day' MODULE_NAME 'rfunc';
 
DECLARE EXTERNAL FUNCTION NVL
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_nvl' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION POWER
    DOUBLE PRECISION,
    DOUBLE PRECISION
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'fn_power' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION REPLACE
    CSTRING(255),
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'fn_strreplace' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION ROUND
    DOUBLE PRECISION,
    INTEGER
    RETURNS DOUBLE PRECISION BY VALUE
    ENTRY_POINT 'fn_round' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION RPAD
    CSTRING(255),
    SMALLINT,
    CSTRING(1)
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'fn_padright' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION RTRIM
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_rtrim' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION SIGN
    DOUBLE PRECISION
    RETURNS SMALLINT BY VALUE
    ENTRY_POINT 'fn_sign' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION STRLEN
    CSTRING(16383)
    RETURNS INTEGER BY VALUE
    ENTRY_POINT 'fn_strlen' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION SUBSTR
    CSTRING(255),
    INTEGER,
    INTEGER
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_substr' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION SYSDATE
    RETURNS TIMESTAMP
    ENTRY_POINT 'fn_sysdate' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TO_CHAR
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_to_char' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TO_CHARD
    TIMESTAMP,
    CSTRING(255)
    RETURNS CSTRING(255) FREE_IT
    ENTRY_POINT 'fn_to_chard' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TO_CHARN
    DOUBLE PRECISION NULL,
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_to_charn' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TO_DATE
    CSTRING(255),
    CSTRING(255)
    RETURNS TIMESTAMP FREE_IT
    ENTRY_POINT 'fn_to_date' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TO_NUMBER
    DOUBLE PRECISION NULL
    RETURNS DOUBLE PRECISION
    ENTRY_POINT 'fn_to_number' MODULE_NAME 'rfunc';
 
 
DECLARE EXTERNAL FUNCTION TRANSLATE
    CSTRING(255),
    CSTRING(255),
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_convertsymbols' MODULE_NAME 'rfunc';
 
 
/* already in FB20 
DECLARE EXTERNAL FUNCTION TRIM
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_trim' MODULE_NAME 'rfunc';
*/
 
DECLARE EXTERNAL FUNCTION TRUNC
    TIMESTAMP
    RETURNS TIMESTAMP
    ENTRY_POINT 'fn_trunc' MODULE_NAME 'rfunc';
 
DECLARE EXTERNAL FUNCTION TRUNCD
    TIMESTAMP,    CSTRING(10)
    RETURNS TIMESTAMP
    ENTRY_POINT 'fn_truncd' MODULE_NAME 'rfunc';
 
 
/* already in FB20 
DECLARE EXTERNAL FUNCTION UPPER
    CSTRING(255)
    RETURNS CSTRING(255)
    ENTRY_POINT 'fn_rupper' MODULE_NAME 'rfunc';
*/
Dans le fichier de config de firebird :

Code :
1
2
 
UdfAccess = Restrict UDF ; C:\Program Files\Firebird\UDF
Mais lorsque je rencontre une requete SQL qui contient le fonction to_char par exemple j'obtiens le message d'erreur suivant :

Code :
1
2
3
4
 
Invalid request BLR at offset 439.
FUNCTION TO_CHAR IS NOT defined.
Module name OR entrypoint could NOT be found.

Une idée pour résoudre ce pb ?
Tyler Durden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 08h13   #2
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 631
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 3 631
Points : 4 533
Points : 4 533
où est la DLL RFUNC . That is the question dirait Hamlet

les autres fonctions "fonctionnent" ?
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 08h14   #3
Membre régulier
 
Inscription : septembre 2003
Messages : 193
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 193
Points : 84
Points : 84
dans le repertoire udf de l'install de firebird et dans le rep system et system32 de windows

That is the answer dit Tyler !
Tyler Durden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 08h16   #4
Membre régulier
 
Inscription : septembre 2003
Messages : 193
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 193
Points : 84
Points : 84
Non aucune autre fonction ne fonctionne
Tyler Durden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 08h18   #5
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 631
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 3 631
Points : 4 533
Points : 4 533
Citation:
Envoyé par Tyler Durden Voir le message
dans le repertoire udf de l'install de firebird et dans le rep system et system32 de windows
normalement le repertoire UDF suffit pas la peine de mettre des ceintures et des bretelles (system et system32)

les autres fonctions "fonctionnent" ? en laissant UDFACCESS = FULL

UdfAccess n'aime peut être pas les espaces dans le chemin
' "C:\program files\firebird\udf" '
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2007, 09h04   #6
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
quelle version de Windows, quelle version de Firebird, quels droits sur les fichiers UDF ?

ps si Firebird est dans C:\Program Files\Firebird
alors un :
Code :
UdfAccess = Restrict UDF
suffit et c'est même l'option par défaut
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h35.


 
 
 
 
Partenaires

Hébergement Web