Problema configurar POOL conexoes TOMCAT

Olá pessoal,

sou novo no forum e no java e estou tendo dificuldades em cofigurar o POOL conexoes no TOMCAT, aparece o seguinte erro:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
	at ConexaoFactory.getConexao(ConexaoFactory.java:19)
	at LoginDAO.inserirDados(LoginDAO.java:7)
	at Login.doPost(Login.java:17)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
	... 18 more

criei um arquivo context.xml dentro da pasta META-INF com os seguintes dados:


<?xml version="1.0" encoding="UTF-8"?>

	<Context auth="Container">
	<Resource
		name="jdbc/nomeBD"
		type="javax.sql.DataSource"
		url="jdbc:jtds:sqlserver://host:1433/"
		driverClassName = "net.sourceforge.jtds.jdbc.Driver"
		username="user"
		password="password"
		maxActive="100"
		maxIdle="20"
		removeAbandoned="true"
		removeAbandonedTimeout="60"/>
	</Context>

configurei o arquivo web.xml assim:

     <resource-ref>
		<res-ref-name>
	     	jdbc/nomeBD
		</res-ref-name>
		<res-type>
		     javax.sql.DataSource
		</res-type>
		<res-auth>
		     Container
		</res-auth>
	</resource-ref>

e criei um metodo que abre a conexao assim:

 
public static Connection getConexao() throws Exception {
	
		Connection con = null;	
		InitialContext contexto = new InitialContext();
		DataSource ds = (DataSource)contexto.lookup("java:comp/env/jdbc/nomeBD");
		con = ds.getConnection();	
        	return con;
	}
 

Todos os dados acima, retirei de artigos na web. O erro acontece ao tentar carregar a classe do driver, tentei com o driver fornecido pela Microsoft (o banco é SQL Server 2000), mas o resultado foi o mesmo.

P.S.: o jar jtds encontra-se na pasta lib e foi adicionado ao path.

Valew desde já aos que responderem.

Mas na pasta “lib” do tomcat ou do teu projeto na IDE?

Você tentou rodar o tomcat “por fora” ou por meio de IDE? Se foi pelo Eclipse, dependendo da versão, você precisará de configurações adicionais.

Mas na pasta “lib” do tomcat ou do teu projeto na IDE?

Você tentou rodar o tomcat “por fora” ou por meio de IDE? Se foi pelo Eclipse, dependendo da versão, você precisará de configurações adicionais.[/quote]

Nóo, deu certo!!

Realmente o JTDS estava na pasta lib da aplicação e não do TOMCAT.

Valeu cara, Abraços.

Que bom.

Lembra que se quer um pool de conexão no AS, então o driver de conexão deve estar no AS e não na aplicação :wink:

E não esquece de por o [RESOLVIDO] no tópico pra ajudar outros colegas, ok?

Abraços.