Fala galera,
estou com um problema que está me deixando doido, estou desenvolvendo um cadastro simples de contados via RMI, até ai blz
o cliente transfere o objeto certinho para o servidor RMI
o problema está na hora de inserir os dados no banco de dados, Postgres
apresenta o seguinte erro:
org.postgresql.util.PSQLException: ERROR: relation “tabcontatos” does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1608)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1343)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:194)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:343)
at Persistencia.PostgresSQL.cadastrarContato(PostgresSQL.java:51)
at pacotermi.ContatoImpl.cadastroContato(ContatoImpl.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
já tentei de tudo (ou quase tudo), já reinstalei o postgres, troquei de banco, tabela e tudo mais :roll:
o código da minha classe de persistencia é o seguinte:
package Persistencia;
import ObjContato.ObjContato;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PostgresSQL {
private String driver = "org.postgresql.Driver";
private String user = "postgres";
private String senha = "cheristonexd";
private String url = "jdbc:postgresql://localhost:5432/postgres";
private String sqlComand = null;
private Connection con = null;
private ResultSet resultSet = null;
private PreparedStatement statement = null;
private Connection conectarBanco() throws SQLException {
try {
Class.forName(driver);
con = (Connection) DriverManager.getConnection(url, user, senha);
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException sqlEx) {
sqlEx.printStackTrace();
}
return con;
}
private void fecharConexaoBanco() {
try {
statement.close();
con.close();
} catch (SQLException sqlEx) {
sqlEx.printStackTrace();
}
}
public void cadastrarContato(ObjContato objContato) throws SQLException {
try {
sqlComand = "INSERT INTO tabContatos(codigoContato, nomeContato," +
"telefoneContato, emailContato) VALUES (?,?,?,?)";
statement = conectarBanco().prepareStatement(sqlComand);//ABRE CONEXAO COM O BANCO DE DADOS
statement.setString(1, Integer.toString(objContato.getCodContato()));
statement.setString(2, objContato.getNomeContato());
statement.setString(3, objContato.getTelefone());
statement.setString(4, objContato.getEmail());
statement.executeUpdate();
} catch (SQLException sqlEx) {
sqlEx.printStackTrace();
} finally {
fecharConexaoBanco();//FECHA CONEXAO COM O BANCO DE DADOS
}
}
}
aguardo ajuda