From: filip.hrbek at plz.comstar.cz (Filip Hrbek) Date: Wed, 20 Apr 2005 13:26:33 +0200 Subject: [Pljava-dev] java.lang.SecurityException References: <2276557F1C7668499FF59EC75B84624FC7A6B6@salsa.cefriel.it> Message-ID: <005501c5459b$ceddd8a0$1e03a8c0@fhrbek> ----- Original Message ----- From: "Luca Rasconi" To: "Thomas Hallgren" Cc: Sent: Wednesday, April 20, 2005 1:09 PM Subject: RE: [Pljava-dev] java.lang.SecurityException > I made as you suggested. But the result now is: no suitable driver. You should use jdbc:default:connection (colons instead of dots) Filip > The CLASSPATH does not exist and in the postgresql.conf > variable pljava.classpath has only pljava.jar. > > this is my change in the source > > public class Test { > > public static String test() { > String ret = "nu cazz!!!!!!!!"; > try { > /* > Class.forName("org.postgresql.Driver"); > String url = > "jdbc:postgresql://etechsviluppo.cefriel.it/context"; > Properties props = new Properties(); > props.setProperty("user", "context"); > props.setProperty("password", "context"); > Connection conn = > DriverManager.getConnection(url, props); > */ > Connection conn = > DriverManager.getConnection("jdbc.default.connection"); > Statement s = conn.createStatement(); > ... > > thank you, > Luca > > -----Original Message----- > From: Thomas Hallgren [mailto:thhal at mailblocks.com] > Sent: Wednesday, April 20, 2005 12:20 PM > To: Luca Rasconi > Cc: Pljava-dev at gborg.postgresql.org > Subject: Re: [Pljava-dev] java.lang.SecurityException > > Luca Rasconi wrote: > > > I wrote a litlle class test to see pljava in action. This class named > > test.jar and the jar name used in the install routine is test_luca. > > > > My procedure is very simple: > > > > public class Test { > > > > public static String test() { > > > > String ret = "nu cazz!!!!!!!!"; > > > > try { > > > > Class.forName("org.postgresql.Driver"); > > > > String url = "jdbc:postgresql://myhost/mydb"; > > > > Properties props = new Properties(); > > > > props.setProperty("user", "user"); > > > > props.setProperty("password", "password"); > > > > Connection conn = DriverManager.getConnection(url, props); > > > > Statement s = conn.createStatement(); > > > > int uid = 13; > > > > String _url = "some url"; > > > > String sql = "insert into request(UID, url) values(" + uid + ", '" + > > _url + "')"; > > > > s.execute(sql); > > > > s.close(); > > > > s = conn.createStatement(); > > > > sql = "select * from request where uid = 13"; > > > > ResultSet rs = s.executeQuery(sql); > > > > rs.first(); > > > > ret = rs.getString("url"); > > > > rs.close(); > > > > conn.close(); > > > > } catch (ClassNotFoundException e) { > > > > // TODO Auto-generated catch block > > > > ret = "non ho trovato la classe del dirver jdbc!!"; > > > > //e.printStackTrace(); > > > > } catch (SQLException e1) { > > > > ret = e1.getMessage(); > > > > //e1.printStackTrace(); > > > > } > > > > return ret; > > > > } > > > > } > > > > when I try to execute this is the result: > > > > SELECT test_luca(); > > > > ERROR: java.lang.SecurityException: read on \C:\Program > > Files\PostgreSQL\8.0\jdbc\postgresql-8.0-310.jdbc3.jar > > > > Some body can help me? > > > 1) Don't use the PostgreSQL client jdbc driver inside of PL/Java since > that will a) create a network connection to another PostgreSQL session > and b) have a transaction-scope that is decoupled from the > transaction-scope of the executing function. In order to obtain a > connection, please do: > > Connection conn = > DriverManager.getConnection("jdbc.default.connection"); > > 2) Never have anything but the pljava.jar in the postgresql.conf > variable pljava.classpath or in the CLASSPATH env seen by the postmaster > > process . Jar files *must* be loaded using sqlj.install_jar > > Regards, > Thomas Hallgren > > _______________________________________________ > Pljava-dev mailing list > Pljava-dev at gborg.postgresql.org > http://gborg.postgresql.org/mailman/listinfo/pljava-dev