Hibernate não encontrar driver JDBC do SQL Server 2008 Express

6 respostas
caceres

Bom dia galera.

To precisando de uma ajuda Urgente. Eu preciso conectar meu Hibernate no SQL Server 2008 Express...
Mas o Hibernate esta acusando que ele não encontra o Driver... Por favor me ajudem...

Aqui é onde eu passo as configurações para o Hibernate...

SessionFactory fabrica = new Configuration().
                setProperty("hibernate.connection.driver_class", "net.sourceforge.jtds.jdbc.Driver").
                setProperty("hibernate.connection.url", "jdbc:jtds:sqlserver://localhost:1433"+cndto.getNome_banco()).
                setProperty("hibernate.connection.username", cndto.getUsuario()).
                setProperty("hibernate.connection.password", cndto.getSenha()).
                setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect").
                setProperty("show_sql", "true").
                configure().buildSessionFactory();
                
                sessao = fabrica.openSession();

Esse é o Erro...

15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Hibernate 3.5.3-Final
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - hibernate.properties not found
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
156 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
156 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
250 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : comunicacao.hbm.xml
328 [AWT-EventQueue-0] INFO org.hibernate.cfg.HbmBinder - Mapping class: br.com.JavaHibernate.DTO.Comunicacao_DTO -> Comunicacoes
343 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
406 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
406 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
406 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
421 [AWT-EventQueue-0] ERROR org.hibernate.connection.DriverManagerConnectionProvider - JDBC Driver class not found: net.sourceforge.jtds.jdbc.Driver

Agradeço desde já...

6 Respostas

M

Quando isso ocorre comigo é porq eu não coloquei o driver no classpath da aplicação.
Se isso não resolver, tente colocar o driver na pasta de libs do seu servidor de aplicação.

Essas são minhas confs do hibernate para sqlserver:

<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:jtds:sqlserver://localhost:1433/db</property> <property name="hibernate.connection.username">teste</property> <property name="hibernate.connection.password">teste</property> <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property> <property name="hibernate.show_sql">false</property>
Driver:
jtds-1.2.5.jar

caceres

Sim, eu entendi.
Mas o Hibernate já não tem o driver dos principais SGBD’s do mercado?
E eu fiz essa mesma configuração, mas no PostgreSQL e não precisou do colocar o driver.
Por isso da minha duvida.
Mas vou tentar aqui. Muito obrigado.

M

Creio que não. Nos projetos que desenvolvo sempre preciso adicionar o driver na pasta lib da aplicação (Oracle: ojdbc.jar, sqlserver:jtds.jar, postgres:postgresql.jdbc3.jar).
O que pode ter ocorrido é o fato da lib do postgres ja estar previamente inserida em algum classpath do seu servidor ou da sua app.

Na verdade, eu creio que funcione dessa forma, não tenho certeza.

caceres

Ok. Muito Obrigado então. Creio que isso resolvera o problema.

caceres

Era isso mesmo. Porém agora eu não consigo abrir a conexão. Vc pode me dar uma dica do que posso estar fazendo de errado.

Esse é meu código de conexão:

private Session sessao;

public List<Comunicacao_DTO> relatoriosEmtu(Connect_DTO cndto)
	{
		try
		{
			System.out.println("banco: "+cndto.getBanco());
			System.out.println("nome_banco: "+cndto.getNome_banco());
			System.out.println("usuario: "+cndto.getUsuario());
			System.out.println("senha: "+cndto.getSenha());
			
			if(cndto.getBanco().equals("SQL Server"))
			{
				SessionFactory fabrica = new Configuration().
				setProperty("hibernate.connection.driver_class", "net.sourceforge.jtds.jdbc.Driver").
				setProperty("hibernate.connection.url", "jdbc:jtds:sqlserver://localhost:1433/"+cndto.getNome_banco()).
				setProperty("hibernate.connection.username", cndto.getUsuario()).
				setProperty("hibernate.connection.password", cndto.getSenha()).
				setProperty("hibernate.dialect", "org.hibernate.dialect.SQLServerDialect").
				setProperty("show_sql", "true").
				configure().buildSessionFactory();
				
				sessao = fabrica.openSession();
				
				List<Comunicacao_DTO> lista = sessao.createSQLQuery("select  c.carro , convert(char(10), max(comunicacao_anterior), 103)+' '+convert(char(8), max(comunicacao_anterior), 108) comunicacao_anterior , convert(char(10), max(c.ultima_comunicacao), 103)+' '+convert(char(8), max(c.ultima_comunicacao), 108) ultima_comunicacao , datediff(day, max(c.comunicacao_anterior), max(c.ultima_comunicacao)) dias " +
						"from(select  idprefixo carro , data comunicacao_anterior , (b.datamax) ultima_comunicacao , datediff(minute, (data), (b.datamax)) minutos from  comunicacoes ,(select idprefixo carro, max(data) datamax   from comunicacoes   where coderro = 0 and whocomm = 1 and bytesSnd > 10000 -- comunicacao do validador (BD3010 é whocomm = 2)  group by idprefixo ) b " +
						"where  idprefixo = b.carro and data < b.datamax   and coderro = 0 -- and whocomm = 0 -- data >= convert (datetime, '27/07/2008', 103)-- and datediff(minute, (data), (b.datamax)) > 10 -- deixar em 10 mesmo; para diferenciar comunicação da BD3010 ) c  group by  c.carro order by  1, 2").list();
				return lista;
			}
			else
			{
				return null;
			}
		}
		catch(HibernateException erro)
		{	
			JOptionPane.showMessageDialog(null, erro.getMessage());//erro.getCause().getLocalizedMessage());
			return null;
		}
	}

E aqui esta o log do erro:

15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Hibernate 3.5.3-Final
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - hibernate.properties not found
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
15 [AWT-EventQueue-0] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
140 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
140 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
234 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : comunicacao.hbm.xml
312 [AWT-EventQueue-0] INFO org.hibernate.cfg.HbmBinder - Mapping class: br.com.ProdataTools.DTO.Comunicacao_DTO -> Comunicacoes
328 [AWT-EventQueue-0] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
390 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
390 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
390 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
390 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: net.sourceforge.jtds.jdbc.Driver at URL: jdbc:jtds:sqlserver://localhost:1433/V3lan
406 [AWT-EventQueue-0] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=sa, password=****}
1375 [AWT-EventQueue-0] WARN org.hibernate.cfg.SettingsFactory - Could not obtain connection to query metadata
java.sql.SQLException: Network error IOException: Connection refused: connect
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:410)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
	at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:114)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
	at br.com.ProdataTools.DAO.Connect_DAO.relatoriosEmtu(Connect_DAO.java:40)
	at br.com.ProdataTools.CTR.Connect_CTR.relatoriosEmtu(Connect_CTR.java:81)
	at br.com.ProdataTools.CTR.Connect_CTR.validaConexaoBanco(Connect_CTR.java:63)
	at br.com.ProdataTools.VIEW.ProdataTools_VIEW$2.keyPressed(ProdataTools_VIEW.java:202)
	at java.awt.Component.processKeyEvent(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)
	at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:257)
	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
	... 36 more
1406 [AWT-EventQueue-0] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.SQLServerDialect
1422 [AWT-EventQueue-0] INFO org.hibernate.engine.jdbc.JdbcSupportLoader - Disabling contextual LOB creation as connection was null
1422 [AWT-EventQueue-0] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
1422 [AWT-EventQueue-0] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
1422 [AWT-EventQueue-0] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
1422 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
1437 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
1437 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
1437 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
1437 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
1437 [AWT-EventQueue-0] INFO org.hibernate.cfg.SettingsFactory - Check Nullability in Core (should be disabled when Bean Validation is on): enabled
1484 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
1687 [AWT-EventQueue-0] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
2765 [AWT-EventQueue-0] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 08S01
2765 [AWT-EventQueue-0] ERROR org.hibernate.util.JDBCExceptionReporter - Network error IOException: Connection refused: connect

Eu estou achando q pode ser problema de autenticação com o banco. Mas o usuario e a senha estão corretos.
O que vc acha?

Obrigado.

caceres

Alguem pode me ajudar???

Obrigado…

Criado 20 de setembro de 2010
Ultima resposta 20 de set. de 2010
Respostas 6
Participantes 2