Tomcat 6 + jTDS 1.2.2 + SQL Server

Olá, pessoal!

Depois de muito procurar uma solução, resolvi perguntar aqui para ver se alguém tem alguma luz. Para tanto, vou postar abaixo o código fonte:

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/scp" debug="5" reloadable="true" crossContext="true">

  <Resource name="jdbc/DDB"
              auth="Container"
              type="javax.sql.DataSource"
              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
              username="User"
              password="*****"
              driverClassName="net.sourceforge.jtds.jdbc.Driver"
              url="jdbc:jtds:sqlserver://191.167.11.7/DDB;"
              maxWait="1000"
              removeAbandoned="true"
              maxActive="5"
              maxIdle="1"
              removeAbandonedTimeout="60"
              logAbandoned="true"/>
</Context>

Conexao.java

/**
 * 
 */

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

/**
 *
 */
public class Conexao {

	private Context		initialContext;
	private Context		envContext;
	private DataSource	datasource;
	private Connection	connection;
	private Statement	statement;
	private ResultSet	resultset;

	/**
	 * Construtor que pega uma conexão do pool
	 */
	public Conexao() {

		try {
			initialContext = new InitialContext();
		} catch (NamingException ne) {
			System.out.println("Couldn't build an initial initialContext: " + ne);
			return;
		}
		try {
			envContext = (Context) initialContext.lookup("java:comp/env");
			datasource = (DataSource) envContext.lookup("jdbc/DDB");
			connection = datasource.getConnection();
			statement = connection.createStatement();
		} catch (NamingException e) {
			System.out.println("JNDI lookup failed : " + e);
		} catch (SQLException e) {
			System.out.println("Connection failed : " + e);
		}
	}

	public ResultSet executeSQL(String sql) {
		try {
			resultset = statement.executeQuery(sql);
		} catch (SQLException e) {
			System.out.println("Query execution failed : " + e);
		}
		return resultset;
	}

	public void closeAll() {
		try {
			resultset.close();
			statement.close();
			connection.close();
		} catch (SQLException e) {
			System.out.println("Connection close failed : " + e);
		}
	}
}

web.xml

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

Acontece que quando o construtor Conexao tenta executar a linha

connection = datasource.getConnection();

Dá a seguinte exception:

AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@1148603)
   LogAbandoned: true
   RemoveAbandoned: true
   RemoveAbandonedTimeout: 60
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (I/O Error: Stream 0 attempting to read when no request has been sent)

Alguém tem alguma idéia do que esteja acontecendo?

Ninguém? :frowning: