Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

UDF vlastite biblioteke - kako

[es] :: Firebird/Interbase :: UDF vlastite biblioteke - kako

[ Pregleda: 1648 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MarkoBalkan

Član broj: 141124
Poruke: 1624
...135.83-dsl.net.metronet.hr.



+19 Profil

icon UDF vlastite biblioteke - kako21.10.2009. u 21:06 - pre 176 meseci
radim po ovom primjeru
http://www.firebirdsql.org/index.php?op=useful&id=deatz_udf

koristim eclipse za win i gcc kompajler.


kreirao novi projekt, shared library dodao c file.

Code:

int modulo(int *, int *);

int modulo(a, b)
     int *a;
     int *b;
{
  if (*b == 0)
    return -1; // return something suitably stupid.
  else
    return *a % *b;
}



kompajlirao i dobio dll.

odradio sve ovo, uredno kreirao UDF.
In ISQL

declare external function f_Modulo
integer, integer
returns
integer by value
entry_point 'modulo' module_name 'mojlib';

commit;

kad probam izvršiti ovaj select
select f_Modulo(3, 2) from rdb$database;

dobijem gršku

Invalid token.
Invalid request BLR at offset 60.
Function F_MODULO is not defined.
Module name or entrypoint could not be found.
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: UDF vlastite biblioteke - kako22.10.2009. u 01:19 - pre 176 meseci

> int modulo(int *, int *);

> declare external function f_Modulo
> integer, integer
> returns
> integer by value
> entry_point 'modulo' module_name 'mojlib';

Pogrešno si deklarisao UDF, argumenti funkcije su pointeri na integer ne integer.

> Function F_MODULO is not defined.
> Module name or entrypoint could not be found

UDF dll moraš staviti u UDF dir FB instalacije.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..137.197-dsl.net.metronet.hr.



+19 Profil

icon Re: UDF vlastite biblioteke - kako22.10.2009. u 20:50 - pre 176 meseci
windowsi su 64 bitni (xp)

firebird je 64 bitna 2.5 beta2
a kompajler gcc (mingw)

e sad ne znam dal podržava 64 bitne sustave i dali to ima veze?
 
Odgovor na temu

savkic
Igor Savkić

Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: UDF vlastite biblioteke - kako23.10.2009. u 11:11 - pre 176 meseci
Za 64bitni server nisam siguran ali je vrlo moguće da dll takođe mora biti 64bitni. Takođe proveri da li imaš tačan naziv funkcije (case sensitive je), pogledaj dll u DepedencyWalkeru.
 
Odgovor na temu

[es] :: Firebird/Interbase :: UDF vlastite biblioteke - kako

[ Pregleda: 1648 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.