Provalvelmente seu driver necessita de escrita no disco, mas o pljava assim como acontece em outras linguagens como plruby é compilado/configurado em safe mode by default. Tente compilar/configurar habilitado o mode inseguro.
2009/2/2 <[email protected]> > Dicas por favor:Falha no acesso a Sqlserver via Pljava > Senhores, sou novo na lista. Estou com um problema e gostaria de ter sua > colaboração. > O problema é o seguinte: Estou, a partir do postgres, a fazer testes de > acesso a diversos bancos. Consegui sucesso no acesso a 'POSTGRES', 'MYSQL' E > 'ORACLE' com uso dos respectivos arquivos de jdbc. No caso de acesso ao > 'SQLSERVER', no entanto houve falha. > > O SO no qual o banco Postgres roda é 'UBUNTU'; > > O pljava está totalmente operacional; > > Os arquivos '.jar' usados são: > Aplicação: > SELECT sqlj.install_jar('file:///opt/pljava/consultaBanco2.jar', > 'sql_java_postg3', true); > Jdbc Sqlserver: > SELECT sqlj.install_jar('file:///opt/pljava/jtds-1.2.2.jar', > 'jdbc_sqlserver', true); > Jdbc Oracle: > SELECT sqlj.install_jar('file:///opt/pljava/ojdbc14.jar', 'ojdbc14', > true); > Jdbc Mysql: > SELECT > sqlj.install_jar('file:///opt/pljava/mysql-connector-java-5.1.7-bin.jar', > 'mysql_connec', true); > Jdbc Postgres: > SELECT sqlj.install_jar('file:///opt/postgresql-8.3-604.jdbc4.jar', > 'jdbc4', true); > > O CLASSPATH: > SELECT sqlj.set_classpath('corp', > 'mysql_connec:jdbc4:ojdbc14:sql_java:sql_java_postg:sql_java_postg3:jdbc_sqlserver'); > > Parametros de Drive : > public ConsultaPostgre2(String sql, String tipo) { > this.sql = sql; > this.tipo = tipo; > if (tipo.equalsIgnoreCase("LOCAL")) { > driver = "NULL"; > url = "jdbc:default:connection"; > usuario = ""; > senha = ""; > } else if (tipo.equalsIgnoreCase("POSTGRE_EXT")) { > driver = "org.postgresql.Driver"; > url = "jdbc:postgresql://10.239.XX.Y:5432/postgres"; > usuario = "postgres"; > senha = "yyyyyy"; > } else if (tipo.equalsIgnoreCase("MYSQL")) { > driver = "com.mysql.jdbc.Driver"; > url = "jdbc:mysql://10.239.XX.Y1:3306/dispensacao_desenv"; > usuario = "mxxx"; > senha = "yyyyyy"; > } else if (tipo.equalsIgnoreCase("ORACLE")) { > driver = "oracle.jdbc.driver.OracleDriver"; > url = "jdbc:oracle:thin:@10.239.XX.Y2:1521:stg"; > usuario = "oxxx"; > senha = "yyyyyy"; > } else if (tipo.equalsIgnoreCase("SQLSERVER")) { > //SQLSERVER > driver = "net.sourceforge.jtds.jdbc.Driver"; > url = "jdbc:jtds:sqlserver://10.239.XX.Y3:1433/helpdesk"; > usuario = "xxx"; > senha = "yyyyy"; > } > } > > Função no Postgres: > CREATE OR REPLACE FUNCTION corp.consulta_sqlserver2(character varying, > character varying) > RETURNS setof corp.MunicHelp AS > 'com.consulta.dba.ConsultaPostgre2.executar' > LANGUAGE 'java' VOLATILE > COST 100; > ALTER FUNCTION corp.consulta_sqlserver2(character varying, character > varying) OWNER TO postgres; > > Obs: Para o 'SQLSERVER'; testei tambem com o nome do servidor. Oerro foi o > mesmo abaixo citado > > Select: > select * from corp.consulta_sqlserver2('select * from helpdesk..municipio', > 'SQLSERVER'); > Sendo que o segundo parametro,'tipo', informa o banco de dados a ser > consultado. > Os parametros e funções do aplicativo se aplicam de forma igual a todos os > bancos. > > Mensagem de erro: > ERROR: java.lang.SecurityException: read on /tmp > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- [ ]'s Shairon Toledo http://www.hashcode.eti.br
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
