Pessoal,
Quando tento executar uma aplicação Java desktop que usa hibernate e banco Oracle, o console do Netbeans 5.5 exibe a seguinte mensagem de erro :
10/12/2010 12:01:23 net.sf.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
10/12/2010 12:01:23 net.sf.hibernate.cfg.SettingsFactory buildSettings
WARNING: Could not obtain connection metadata
java.sql.SQLException: Violação de protocolo
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java)
at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java)
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at net.sf.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:101)
at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1160)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:794)
at SCR.Scr.<init>(Scr.java:118)
at SCR.Scr.main(Scr.java:724)
Segue, abaixo, o arquivo hibernate.properties
hibernate.dialect=net.sf.hibernate.dialect.OracleDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=jdbc:oracle:thin:@oracle.nti.ufpb.br:1521:UFPB
hibernate.connection.username=xxx
hibernate.connection.password=yyyyyyyy
E, abaixo, o trecho de código da classe Scr.Java, onde está ocorrendo o erro
package SCR;
import SCR.ImageCap.FrameGrabber;
import SCR.scrbeans.*;
import com.l2fprod.gui.plaf.skin.SkinLookAndFeel;
import java.awt.BorderLayout;
import java.io.InputStream;
import java.util.Properties;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
import java.util.List;
import java.util.Date;
import java.util.Calendar;
/**
*
* @author fabiomelo
*/
public class Scr extends JFrame {
//Objetos DAO usados em todo o sistema
public static AlunoGraduacaoDAO alunograddao;
public static AlunoPosGraduacaoDAO alunoposgraddao;
public static ComensalDAO comensaldao;
public static UsuarioDAO usrdao;
public static RefeicaoDAO refeicaodao;
public static MatriculaGraduacaoDAO matgraddao;
public static MatriculaPosGraduacaoDAO matposgraddao;
//Objeto para captura de imagens
public static FrameGrabber captura;
public static boolean CameraOk; // Informa se existe uma camera conectada
public static Properties conexao;
public static Usuario usr;
public static final int DIA_DOM = 0;
public static final int DIA_SEG = 1;
public static final int DIA_TER = 2;
public static final int DIA_QUA = 3;
public static final int DIA_QUI = 4;
public static final int DIA_SEX = 5;
public static final int DIA_SAB = 6;
public static final char TF_CAFE = 'C';
public static final char TF_ALMOCO = 'A';
public static final char TF_JANTAR = 'J';
public static String FTP_URL = "ftp.nti.ufpb.br";
public static String FTP_USUARIO = "scrftp";
public static String FTP_SENHA = "!ru2fotos#";
public static String FTP_PASTA = "/FotosSCR/";
public static SessionFactory factory;
/** Creates new form teste */
public Scr() {
//Mostrar Splash
Splash.getInstance().openSplash();
Splash.getInstance().setString("Fazendo conexão com o Banco de Dados");
this.setIconImage(new ImageIcon( getClass().getResource("/SCR/Imagens/Icone.gif") ).getImage());
//setando o Look and feel
try{
SkinLookAndFeel.setSkin( SkinLookAndFeel.loadThemePack( getClass().getResource("/SCR/themepack.zip") ) );
SkinLookAndFeel.enable();
//UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog( null,"Falha ao carregar o Look and Feel!",
"SCR", JOptionPane.ERROR_MESSAGE );
System.exit(0);
}
//Setando a conexão com o Banco
try{
conexao = new Properties();
InputStream str = Scr.class.getResourceAsStream("/SCR/hibernate.properties");
if (str!=null)
conexao.load(str);
//Em caso de falha setar configuracao padrao
else{
conexao.put("hibernate.dialect", "net.sf.hibernate.dialect.OracleDialect");
conexao.put("hibernate.connection.driver_class", "oracle.jdbc.driver.OracleDriver");
conexao.put("hibernate.connection.url", "jdbc:oracle:thin:@oracle.nti.ufpb.br:UFPB");
conexao.put("hibernate.connection.username", "xxx");
conexao.put("hibernate.connection.password", "yyyyyyyy");
conexao.put("hibernate.show_sql", "true");
}
Splash.getInstance().incrementBar(10);
}
catch( Exception e )
{
e.printStackTrace();
JOptionPane.showMessageDialog( null,"Falha ao carregar arquivo de Configuração do Banco de Dados!",
"SCR", JOptionPane.ERROR_MESSAGE );
System.exit(0);
}
//Criando os objetos DAOs do sistema
Splash.getInstance().setString("Criando variaveis do sistema");
try{
factory = new Configuration() --> at SCR.Scr.<init>(Scr.java:118) -- o erro está sendo acusado nesta linha, conforme pode ser visto no log acima.
.addClass(AlunoGraduacao.class)
.addClass(AlunoPosGraduacao.class)
.addClass(MatriculaGraduacao.class)
.addClass(MatriculaPosGraduacao.class)
.addClass(Refeicao.class)
.addClass(Usuario.class)
.setProperties(conexao)
.buildSessionFactory();
Splash.getInstance().incrementBar(60);
alunograddao = new AlunoGraduacaoDAO();
alunoposgraddao = new AlunoPosGraduacaoDAO();
comensaldao = new ComensalDAO();
refeicaodao = new RefeicaoDAO();
matgraddao = new MatriculaGraduacaoDAO();
matposgraddao = new MatriculaPosGraduacaoDAO();
usrdao = new UsuarioDAO();
Splash.getInstance().incrementBar(10);
}
catch( Exception e ){
e.printStackTrace();
JOptionPane.showMessageDialog( null,"Falha na conexão com o Banco de Dados!",
"SCR", JOptionPane.ERROR_MESSAGE );
sair();
}
...
Alguém poderia me dar uma “luz no fim do túnel” ?
Agradece,
Max Carvalho