PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/10/2012 10:17:48

pljavabruno
Membre

Exception de securité sur la lecture d'un fichier jar sur postgresq

Bonjour à tous,

j'ai crée  un fichier jar sur NetBeans, j'ai chargé ce fichier jar sur  postgresql  par la commande sqlj.install_jar  sans problème. Mais quand j’essaie d 'écrire une fonction en pljava  pour exécuter ce fichier, j'ai une exception de sécurité:


ERREUR:  java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\Rectangle.jar

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

ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\Rectangle.jar
État SQL :XX000


voici ma fonction pljava :


CREATE FUNCTION mon_rectangle()
  RETURNS VARCHAR
  AS 'rectangle.Rectangle.main'
  LANGUAGE java;
SELECT mon_rectangle();


et classe java sur NetBeans:



package rectangle;

/**
*
* @author bruno.fouape
*/
public class Rectangle {
    private int Longueur;
    private int largeur;
    public Rectangle(int L, int l)
    {
      this.Longueur=L;
      this.largeur=l;
    }
public int getLongueur()
{
   return this.Longueur;
}
public int getlargeur()
{
    return this.largeur;
}
public void setLongueur(int L)
{
   this.Longueur=L;
}
public void setlargeur(int l)
{
    this.largeur=l;
}
public int donnerperimetre()
{
    return (this.Longueur + this.largeur)* 2;
}
public int donnersurface()
{
    return this.Longueur * this.largeur;
}
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      Rectangle r1= new Rectangle(10,20);
      System.out.println("le perimètre est " + r1.donnerperimetre() );
      System.out.println("la surface est " + r1.donnersurface() );
        // TODO code application logic here
    }
}



je suis tout députant dans Postgesql  et pl/java.


Merci de  votre aide

Dernière modification par pljavabruno (19/10/2012 10:21:09)

Hors ligne

#2 19/10/2012 18:04:06

rjuju
Administrateur

Re : Exception de securité sur la lecture d'un fichier jar sur postgresq

Vous pouvez essayer de déclarer votre procédure avec le langage javaU (untrusted), cela pourrait peut-être résoudre votre problème.

Hors ligne

#3 19/10/2012 18:17:14

pljavabruno
Membre

Re : Exception de securité sur la lecture d'un fichier jar sur postgresq

Merci !!!!!!!!!!!!!!!!!  rjuju

vous etes magnifique,  ça passe maintenant.

une dernière chose, je voulais savoir s'il faut  appeler une procédure pljava  en java ?

c'est à dire embarquer les points jar sur postgresql,  y écrire des procédures pljava  et ensuite les appelé   dans un programma java

Hors ligne

#4 19/10/2012 18:52:35

rjuju
Administrateur

Re : Exception de securité sur la lecture d'un fichier jar sur postgresq

Vous pouvez appeler cette procédure stockée depuis n'importe quel client, que ce soit pgAdmin, psql ou un client en java. Ça risque d'être un peu redondant de l'appeler depuis un programme java mais pourquoi pas smile

Hors ligne

#5 19/10/2012 18:57:13

pljavabruno
Membre

Re : Exception de securité sur la lecture d'un fichier jar sur postgresq

ok !!   


Merci   infiniment !!!!!!!!

Hors ligne

#6 23/10/2012 17:24:37

pljavabruno
Membre

Re : Exception de securité sur la lecture d'un fichier jar sur postgresq

SVP, je voulais savoir, pourquoi  utiliser  javaU (untrusted)   au lieu de  java  tout court, puis que dans la documentation de pljava, c'est plutôt LANGAGE java

est ce que cela veut dire qu'on ne peut pas utililer   LANGAGE java  et ça marche ?

je le dis parceque j'ai cherché partout sur internet sans succès. 

Merci

Hors ligne

Pied de page des forums