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

Responder a