Boa tarde a todos.
Bom galera estou aprendo Java e estou tendo divilgudade de entende esse erro.
Se alguem do Forum pode me ajuda em agradeço.
Erro Gerado.
[TopLink Warning]: 2008.08.11 12:51:19.205–UnitOfWork(18291494)–Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: O esquema ‘ROOT’ não existe
Error Code: -1
Call: SELECT CODIGOCARGO FROM CARGO
Exception in thread “AWT-EventQueue-0” Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: O esquema ‘ROOT’ não existe
Error Code: -1
Call: SELECT CODIGOCARGO FROM CARGO
Como você está tentando se conectar? Coloque o código aqui entre as tags code.
O erro diz que você está tentando se conectar no esquema root e este não existe
Abs
danieldestro
Qual BD vocÊ usa? Como está a configuração do seu persistence unit (perssitence.xml)?
Parece que ele está tentando usar um esquema (usuário) que não existe.
//**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packagelib.database;importjava.io.Serializable;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.Id;importjavax.persistence.NamedQueries;importjavax.persistence.NamedQuery;importjavax.persistence.Table;/** * * @author welitoncb */@Entity@Table(name="CARGO")@NamedQueries({@NamedQuery(name="Cargo.findByCodunidgestora",query="SELECT c FROM Cargo c WHERE c.codunidgestora = :codunidgestora"),@NamedQuery(name="Cargo.findByCodigocargo",query="SELECT c FROM Cargo c WHERE c.codigocargo = :codigocargo"),@NamedQuery(name="Cargo.findByNome",query="SELECT c FROM Cargo c WHERE c.nome = :nome"),@NamedQuery(name="Cargo.findByTipo",query="SELECT c FROM Cargo c WHERE c.tipo = :tipo"),@NamedQuery(name="Cargo.findByMes",query="SELECT c FROM Cargo c WHERE c.mes = :mes"),@NamedQuery(name="Cargo.findByAno",query="SELECT c FROM Cargo c WHERE c.ano = :ano"),@NamedQuery(name="Cargo.findByRemessa",query="SELECT c FROM Cargo c WHERE c.remessa = :remessa"),@NamedQuery(name="Cargo.findByExercicio",query="SELECT c FROM Cargo c WHERE c.exercicio = :exercicio"),@NamedQuery(name="Cargo.findByChave",query="SELECT c FROM Cargo c WHERE c.chave = :chave")})publicclassCargoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Column(name="CODUNIDGESTORA")privateStringcodunidgestora;@Id@Column(name="CODIGOCARGO",nullable=false)privateStringcodigocargo;@Column(name="NOME")privateStringnome;@Column(name="TIPO")privateStringtipo;@Column(name="MES",nullable=false)privateStringmes;@Column(name="ANO",nullable=false)privateStringano;@Column(name="REMESSA",nullable=false)privateStringremessa;@Column(name="EXERCICIO",nullable=false)privateStringexercicio;@Column(name="CHAVE",nullable=false)privateStringchave;publicCargo(){}publicCargo(Stringcodigocargo){this.codigocargo=codigocargo;}publicCargo(Stringcodigocargo,Stringmes,Stringano,Stringremessa,Stringexercicio,Stringchave){this.codigocargo=codigocargo;this.mes=mes;this.ano=ano;this.remessa=remessa;this.exercicio=exercicio;this.chave=chave;}Pacotelib.gui.ArquivoCargoTabela.java/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagelib.gui;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjavax.persistence.EntityManager;importjavax.persistence.EntityManagerFactory;importjavax.swing.table.AbstractTableModel;importlib.database.Cargo;/** * * @author welitoncb */publicclassCargoTabelaextendsAbstractTableModel{privateListlistaIds;privateArrayList<Cargo>lista=newArrayList();publicCargoTabela(){EntityManagerFactoryemf=javax.persistence.Persistence.createEntityManagerFactory("sifiscapPU");EntityManagerem=emf.createEntityManager();listaIds=em.createQuery("SELECT c.codigocargo FROM Cargo c").getResultList();for(Iterator<String>it=listaIds.iterator();it.hasNext();){Stringelem=it.next();lista.add((Cargo)em.createNamedQuery("Cargo.findByCodigocargo").setParameter("codigocargo",elem).getSingleResult());}em.close();}publicintgetRowCount(){returnlista.size();}publicintgetColumnCount(){return5;}publicObjectgetValueAt(introwIndex,intcolumnIndex){if(columnIndex==0){returnlista.get(rowIndex).getCodunidgestora();}elseif(columnIndex==1){returnlista.get(rowIndex).getCodigocargo();}elseif(columnIndex==2){returnlista.get(rowIndex).getNome();}elseif(columnIndex==4){returnlista.get(rowIndex).getMes();}elseif(columnIndex==5){returnlista.get(rowIndex).getTipo();}returnnull;}}
danieldestro
Era só pra colocar o persistence.xml, não seu código java.
Certifique-se que existe um usuário/esquema no seu BD chamado “root”.
W
wbritosk8
Não existe esse usuario.
W
wbritosk8
Tenho que cria.
Como faço?
W
wbritosk8
Blz criei o esquema ROOT.
Agora o problema esta na consulta SQL.
W
wbritosk8
Esse e a SQL.
listaIds = em.createQuery(“SELECT C.CODIGOCARGO FROM CARGO C”).getResultList();
W
wbritosk8
Erro
Caused by: Exception [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Error compiling the query [SELECT C.CODIGOCARGO FROM CARGO C]. Unknown abstract schema type [CARGO].
W
wbritosk8
Agora e esse erro.
Caused by: Exception [TOPLINK-8025] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Syntax error parsing the query [SELECT C.CODIGOCARGO FROM APP.CARGO C], line 1, column 30: unexpected token [.].
Internal Exception: line 1:30: unexpected token: .
Andre_Fonseca
Oi,
Você criou o esquema, agora precisa criar as tabelas correto??
Abs
danieldestro
Com “em.createQuery” você só pode usar JPQL (uma variação de SQL para JPA).
Para usar SQL, use “em.createNativeQuery”.