Ola pessoal estou tendo um probleminha , ao tentar conectar ao postgre
tenho a seguinte mensagem de erro [color=red]tipo de autenticacao 5 nao e suportado.[/color]se alguem puder me ajudar agradeco.
Qual a versão do drive que vc esta utilizando ?
http://jdbc.postgresql.org/download.html
e como esta chamando?
veja um exemplo.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.log4j.Logger;
import br.edu.ucs.aoptf.app.util.GeraLog;
import org.postgresql.ds.PGPoolingDataSource;
import org.postgresql.jdbc3.Jdbc3PoolingDataSource;
import org.postgresql.jdbc3.Jdbc3ConnectionPool;
/**
*
* @author bruno
*/
public final class PostgresConexao {
private static Jdbc3PoolingDataSource source = new Jdbc3PoolingDataSource();
private static Connection conn = null;
private static Logger _log = GeraLog.getLoggerConf();
private static int contador = 0;
private PostgresConexao() {
try {
contador ++;
System.out.println(contador);
System.out.println(source.getDataSourceName());
if (source.getDataSourceName() == null) {
carragaConfig();
}
conn = source.getConnection();
} catch (Exception ex){
ex.printStackTrace();
_log.error(ex.getMessage());
carragaConfig();
}
}
// Cria uma nova conexao e se ja existe retorn a mesma
// no psql para visualizar quantidade de sessoes abertas:
// select * from pg_stat_activity;
// Mostra os pid de cada sessao
// select procpid from pg_stat_activity
// Derrubando session no postgres
// kill -TERM PID mostrado no comando anterior (Linux)
public static Connection getConnection(){
try {
if (conn == null){
new PostgresConexao();
}
conn.setAutoCommit(true);
return (conn);
} catch (SQLException ex){
ex.printStackTrace();
_log.error(ex.getMessage());
return null;
}
}
/**
* Inicia uma nova transação.
* @throws java.sql.SQLException Exceção genérica de banco de dados.
*/
public static Connection beginTransaction(){
try {
if(conn == null){
new PostgresDAOFactory();
}
conn.setAutoCommit(false);
return (conn);
} catch (SQLException ex){
ex.printStackTrace();
_log.error(ex.getMessage());
return null;
}
}
/**
* Retorna uma conexão com o banco de dados.
* @return Conexão da qual a transação pertence.
*/
public static Connection getConnectionTransacao() {
return conn;
}
/**
* Realiza um commit no banco de dados.
* @throws java.sql.SQLException Exceção genérica de banco de dados.
*/
public static void commit() {
try{
if(conn != null) {
conn.commit();
conn.close();
conn = null;
}
} catch (SQLException ex){
ex.printStackTrace();
_log.error(ex.getMessage());
}
}
/**
* Realiza um rollback da transação no banco de dados.
* @throws java.sql.SQLException Exceção genérica de banco de dados.
*/
public static void rollback(){
try {
if(conn != null) {
conn.rollback();
conn.close();
conn = null;
}
} catch (SQLException ex){
ex.printStackTrace();
_log.error(ex.getMessage());
}
}
// Fechar a conexao
public static void close(){
try {
if (conn != null) {
conn.close();
conn = null;
//source.close(); // Fecha todos os pools de conexao AOPTF
//source = null;
}
} catch (SQLException ex){
ex.printStackTrace();
_log.error(ex.getMessage());
}
}
private void carragaConfig() {
source.setDataSourceName("AOPTF"); // Todo pooling de DataSource deve possuir um nome único.
source.setServerName("127.0.0.1"); // nome do hospedeiro do servidor de banco de dados PostgreSQL
source.setPortNumber(5432); // porta TCP onde o servidor de banco de dados PostgreSQL está escutando (ou 0 para utilizar a porta padrão)
source.setDatabaseName("Aoptf"); // nome do banco de dados do PostgreSQL
source.setUser("postgres"); // usuário utilizado para fazer as conexões com o banco de dados
source.setPassword("postgres"); // senha utilizada para fazer as conexões com o banco de dados
source.setInitialConnections(1); // O número de conexões de banco de dados a serem criadas quando o pool é inicializado.
source.setMaxConnections(5); // O número máximo permitido de conexões de banco de dados abertas. Quando são solicitadas mais conexões,
// quem chama aguarda até que uma conexão retorne para o pool.
}
}
Estou usando a versao 8.3
da uma olhada na mensagem em anexo
[quote=lgweb]Estou usando a versao 8.3
da uma olhada na mensagem em anexo[/quote]
Estranho é a primeira vez que vejo esse erro.
Vc tem o chegou dar uma olhada no arquivo de configuração do postgres.
veja como está essa linha:
TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
> local all all trust
procura adicionar isso:
host all all 127.0.0.1 255.255.255.255 trust
altera o arquivo pg_hba.conf dentro da pasta data
e incluir a linha:
*host all all 192.168.5.0/24 md5 *
para liberar todos os host´s da rede
e tb o parametro listen_addresses do arquivo postgresql.conf que tb fica na pasta data para:
listen_addresses = ‘*’
valeu bruno esta alteracao no pg_hba.conf
resolveu o problema.
Obrigado
Olá pessoal,
Sou novo em java e novo tb em postgresql
estou usando Postgres 8.3 JDK 1.6 update 3 e netbeans 6.0.1
eu não estou conseguindo cria uma conexão entre java e o postgres
quando eu rodo a minha aplicação ele dá o erro
ClassNotFoundException: org.postgresql.Driver
já pelo netbeans eu consegui criar a conexão, mas via linha de comando não estou conseguindo
Aguardo a resposta de vcs
Desde ja agradeço a atenção de todos
obrigado
Coloque o jar do PG no classpath
java -classpath c:\pg-xxx.jar SuaClasse
Olá furutani
não entendi esse negocio da “Sua Classe”
nesse caso seria a classe que estou usando pra fazer a conexão?
Desde já agradeço a sua atenção
obrigado
Aí, fera, não sou o futurani não mas é isso aí!
Você tem uma pasta onde ficam suas classes (produto do classpath), então é só setar o classpath…
Um abraço!
Cara tipo assin!
eu to usando o netbeans e estou separando os arquivos .java em pacotes separados
tipo as minhas conexoes estao no pacote “com.br.sardanha.sistema.jdbc”
intaum o comando que devo fazer é esse:
java -classpath c:\pg-xxx.jar com\br\sardanha\sistema\jdbc ??
ainda naum tentei fazer mas se for isso naum preciso fazer mais nada??
desde ja agradeço a atençao de todos
obrigado