Problema com view postgree no Java

1 resposta
P

Fala galera!
To fazendo um programa pra inserir e visualizar dados do Postgree SQL no Java.Primeiro fiz a conexão de acordo com este site[url]http://javafree.uol.com.br/artigo/877101/Exemplo-Conexao-do-NetBeans-com-Postgre-SQL.html[/url].

public class Cadastro{  
  
    /** 
     * @param args the command line arguments 
     */  
    public static void main(String[] args) {  
        // TODO code application logic here  
        try {  
  
            String url = "jdbc:postgresql://localhost:5432/TesteJava";  
            String usuario = "postgres";  
            String senha = "000182";  
  
            Class.forName("org.postgresql.Driver");  
  
            Connection con;  
  
            con = DriverManager.getConnection(url, usuario, senha);  
  
            System.out.println("Conexão realizada com sucesso.");  
  
            Statement stm = con.createStatement();  
  
           // stm.executeQuery("INSERT INTO teste VALUES (1,'Cynthia')");  
  
            stm.executeUpdate("INSERT INTO toma VALUES (2,'Cynthiaa')");  
            //Editado 21/09/2011 para correção: executeQuery é usado para pesquisa, executeUpdate deve ser usado para inserir  
            con.close();  
  
        } catch (Exception e) {  
             e.printStackTrace();  
        }  
    }  
}

Depois disso criei um JFrame e adicionei uma tabela para importar os dados de uma tabela. Coloquei para VINCULAR e fiz uma nova conexão com o postgree (realizada com sucesso) que mostra as tabelas disponiveis e atualiza quando uma nova tabela é adicionada ao postgree.

Deu tudo certo mas na hora de mostrar os dados na tabela do JFrame da o seguinte erro:

run:
[EL Info]: 2012-11-06 19:13:57.359--ServerSession(16408563)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2012-11-06 19:13:58.218--ServerSession(16408563)--file:/C:/Documents and Settings/User/Meus documentos/NetBeansProjects/Cadastro/build/classes/_TesteJavaPU login successful
[EL Warning]: 2012-11-06 19:13:58.39--UnitOfWork(256294)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERRO: referências cruzadas entre bancos de dados não estão implementadas: "testejava.public.toma"
  Posição: 23
Error Code: 0
Call: SELECT nome, cod FROM TesteJava.public.toma
Query: ReadAllQuery(referenceClass=Toma sql="SELECT nome, cod FROM TesteJava.public.toma")
Exception in thread "AWT-EventQueue-0" Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERRO: referências cruzadas entre bancos de dados não estão implementadas: "testejava.public.toma"
  Posição: 23
Error Code: 0
Call: SELECT nome, cod FROM TesteJava.public.toma
Query: ReadAllQuery(referenceClass=Toma sql="SELECT nome, cod FROM TesteJava.public.toma")
	at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:644)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
	at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
	at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
	at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:646)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2611)
	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2570)
	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:420)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1081)
	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:844)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1040)
	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:392)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1128)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2871)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.executeReadQuery(EJBQueryImpl.java:485)
	at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:742)
	at conexaopostgreesql.newpackage.NewJFrame.initComponents(NewJFrame.java:32)
	at conexaopostgreesql.newpackage.NewJFrame.<init>(NewJFrame.java:17)
	at conexaopostgreesql.newpackage.NewJFrame$1.run(NewJFrame.java:101)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:607)
	at java.awt.EventQueue$1.run(EventQueue.java:605)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:616)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.postgresql.util.PSQLException: ERRO: referências cruzadas entre bancos de dados não estão implementadas: "testejava.public.toma"
  Posição: 23
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:931)
	at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:607)
	... 38 more
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)
Galera quem puder me ajudar eu agrdeço muito! vlw

1 Resposta

Nicolas_Fernandes

Opa, portilhotaura, beleza?
O seu problema é de referência cruzada entre banco de dados. Por acaso há mais de um schema onde há uma tabela chamada TOMA?
Tenta colocar o schema que ela pertence antes do INSERT para ver se ele reconhece.

Fique com Deus! :smiley:

Criado 6 de novembro de 2012
Ultima resposta 7 de nov. de 2012
Respostas 1
Participantes 2