Erro estranho com driver de conexão sqlServer 3.0

7 respostas
gleison.santos

Eai galera do GUJ!

Bom, tenho uma classe conexão que usa o driver sqlServer 3.0 para o SQLServer 2008, quando crio uma instância desta classe em uma JSP ou servlet tenho o seguinte erro:

No suitable driver found for jdbc:sqlserver://localhost:1433;databaseName=sistema;user=admin;password=admpwd

Mas o estranho é que quando criei uma classe de teste com um método main e criei uma instância desta mesma classe de conexão, obtenho sucesso, conecto e buscas e tlz.

Bom, esse é o meu problema, a classe funciona com uma aplicação java mas não com uma aplicação web.

OBS: os jars já estão no classpath

Olha aqui minha classe:

public class ConnectionSQLServer {
		

	private static String url = "jdbc:sqlserver://localhost:1433;" +
								"databaseName=sistema;user=admin;password=admpwd";
	private static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	private static Connection con;
		
	public static Connection getConnection() throws Exception
	{
		try
		{
			//Class.forName(driver).newInstance(); como uso a sqljdbc4.jar não preciso desta linha
			System.out.println("Conectando...");
			con = DriverManager.getConnection(url);
			System.out.println("Conectou");
			return con; 
		}
		catch(Exception e)
		{
			throw new Exception("Erro com o driver de conexão: "+e.getMessage());
		}
	}
}

Alguem pode me ajudar? :cry:

Agradeço desde já!

7 Respostas

drsmachado

Esse erro indica que a string passada como parâmetro não foi aceita pelo “driver” como sendo uma entrada válida.
Isso pode ser causado por um erro na string ou mesmo pela versão do driver (já tive problemas semelhantes com os drivers para oracle, algumas versões não funcionam).
Sugiro tentar com outras versões.

gleison.santos

Mas se fosse algum problema com a string ou com o driver não deveria funcionar nem para a aplicação com o main, certo?

ViniciusLM

Quando mudamos de servidor do SQL2000 para o SQL2008 tivemos que comecar a utilizar o driver sqlserver4.

drsmachado

Uma coisa não tem nada a ver com a outra.

gleison.santos

Então galera, troquei o driver para o sqlServer 4.0 mas continua com o mesmo problema:

Vejam só, se execute esse código que usa a classe de conexão acima, ocorre o erro relatado anteriormente:

<%@page import="br.project.beans.Usuario"%>
<%@page import="br.project.beans.ConnectionSQLServer"%>
<%@page import="java.sql.Connection"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>

<%
	Connection conn = ConnectionSQLServer.getConnection();
%>

</body>
</html>

Más se executo esse, não dá nenhum erro

public static void main(String[] args) throws Exception {
		
		Connection con = ConnectionSQLServer.getConnection();
	}

Lembrando que os dois códigos usam o a mesma classe de conexão!

Não sei mais o que fazer, alguém pode me dar uma luz?

Por favor me ajudem!

Obrigado!

ViniciusLM

gleison.santos:
Então galera, troquei o driver para o sqlServer 4.0 mas continua com o mesmo problema:

Vejam só, se execute esse código que usa a classe de conexão acima, ocorre o erro relatado anteriormente:

<%@page import="br.project.beans.Usuario"%>
<%@page import="br.project.beans.ConnectionSQLServer"%>
<%@page import="java.sql.Connection"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>

<%
	Connection conn = ConnectionSQLServer.getConnection();
%>

</body>
</html>

Más se executo esse, não dá nenhum erro

public static void main(String[] args) throws Exception {
		
		Connection con = ConnectionSQLServer.getConnection();
	}

Lembrando que os dois códigos usam o a mesma classe de conexão!

Não sei mais o que fazer, alguém pode me dar uma luz?

Por favor me ajudem!

Obrigado!

Bom dia Gleison, todos os imports foram feitos, no segundo exemplo quais foram os imports que foram utilizados?

douglaskd

copia o .jar do driver pra pasta fisica do projeto,

se funcionar é algum problema no classpath do S.O

Criado 28 de julho de 2011
Ultima resposta 1 de ago. de 2011
Respostas 7
Participantes 4