Bonjour,

je viens de commencer actuellement à travailler sur des procédures stockées en langage C sous windows xp, et je rencontre un problème lors de l'appel de mon fichier so via un procédures pl/pgsql/.

voici le petit code d'essai de ma fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
int projet(int);
 
int projet(int a) {
 
                 return a;
 
                      }

et voici le code d'appel de mon fichier.so

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 
CREATE FUNCTION projet( int ) RETURNS int 
 AS 'c:\\projet.so' 
 LANGUAGE 'C';
et voici l'erreur retournée:


ATTENTION: utilisation non standard de \\ dans une chaîne littérale
LINE 2: AS 'c:\\projet.so'
^
HINT: Utilisez la syntaxe de chaîne d'échappement pour les antislashs, c'est-à-dire E'\\'.


ERREUR: bibliothèque « c:\projet.so » incompatible : bloc magique manquant
HINT: Les bibliothèques étendues nécessitent l'utilisation de la macro
PG_MODULE_MAGIC.

********** Erreur **********

ERREUR: bibliothèque « c:\projet.so » incompatible : bloc magique manquant
État SQL :XX000
Astuce : Les bibliothèques étendues nécessitent l'utilisation de la macro
PG_MODULE_MAGIC.
merci d'avance et bonne journée.