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

Responder a