Comment créer une procédure (ou fonction) stockée) sous Pointbase?
Bonjour,
j'essaye de créer une procédure ou plutôt une fonction stockée sous PointBase. Voici les commandes que j'utilise dans la console PointBase:
Code:
1 2 3 4 5 6
| CREATE FUNCTION carre(IN valeur INT)
RETURNS BIGINT
LANGUAGE Java
NO SQL
EXTERNAL NAME \"SampleExternalMethods::carre\"
PARAMETER STYLE SQL; |
Voici la classe SampleExternalMethods.java que j'utilise:
Code:
1 2 3 4 5 6 7 8 9
| class SampleExternalMethods {
public long carre(int valeur)
{
long toto = valeur * valeur;
return(toto);
}
} |
J'ai placé le .class dans le répertoire C:\Sun\AppServer\pointbase\lib, car j'ai vu que dans certains exemples, on y plaçait des .jar contenant des classes java.
Cependant, il me met une erreur:
Citation:
SQL> Error Message: Expected to find "an identifier" instead found "\" at position 87.
SQL> Error SQLState: ZB005
SQL> Error Code: 10006
SQL>
Si j'enlève les "\", il me met cette erreur:
Citation:
SQL>
SQL> Error Message: Cannot create Store Procedure CARRE. java.security.AccessControlException: access denied (com.pointbase.sp.spPermission SampleExternalMethods).
SQL> Error SQLState: ZG037
SQL> Error Code: 25037
SQL>
J'avoue ne pas avoir forcément bien saisi, comment faire le lien entre ma classe java et l'EXTERNAL NAME, en effet d'après ce que j'ai lu il faudrait un constructeur à cette classe qui établisse une java.sql.Connection, mais bon comme il n'y a pas d'exemples, difficile de se faire une idée.
Merci d'avance pour vos réponses.
Mumu27!