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