Problema com JDBC e SQL Server'

Olá a todos, sou novato por aqui, e estou iniciando a pouco tempo com java, pois como podem perseber sou desenvolvedor .NET,
não vim aqui para causar discusões ou richas pelo fato de estar vindo de uma plataforma diferente, só venho por meio deste pois
sei que no Brasil é o maior site de discuções sobre java, e como estou entereçado em aprender esta técnologia também estou
recorrendo a voces caros colegas desenvolvedores.
O problema é o seguinte, estou iniciando com uma aplicação bem boba e estou brincando com conexão com bancos de dados
utilizando o Sql Server 2008, utilizando ODBC estou conseguindo me conectar perfeitamente, mas qndo tento usar somente o JDBC
com a seguinte string de conexão [color=red]“jdbc:microsoft:sqlserver://localhost/dbEdySystem”[/color] não estou conseguindo conectarme ao banco
banco de dados o mesmo fica lançando a seguinte mensagem de erro da exceção: No suitable driver found for jdbc:microsoft:sqlserver://localhost/dbEdySystem
então gostaria de saber dos senhores o porque está ocorrendo este problema sendo que com o seguinte driver “sun.jdbc.odbc.JdbcOdbcDriver” e com a seguinte
url: “jdbc:odbc:dbEdySystem” estou conseguindo me conectar perfeitamente.

Se alguém puder me dar uma fico grato desde já

Att Edney Silva Desenvolvedor .Net

Olá Edney,

O primeiro passo é verificar se você incluiu o .jar do driver jdbc para SQLServer, verifique se ele está na sua aplicação: sqljdbc4.jar

Caso não, baixe do site da microsoft,
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707

Você também pode utilizar o jtds driver, que acredito ser mais rápido que o oficial da microsoft
http://jtds.sourceforge.net/

Usando jtds a string de conexão fica mais ou menos assim, supondo que está configurado para usar a porta 1433:
jdbc:jtds:sqlserver://localhost:1433/dbEdySystem

Estes posts tem informações sobre instalação e configuração das portas, pode ser que seja necessário:
http://www.guj.com.br/java/228640-resolvido-conexao-jdbc-sql-server-2008
http://www.guj.com.br/java/236964-resolvidosql-server-2008-r2-express

[quote=jamirdeajr]Olá Edney,

O primeiro passo é verificar se você incluiu o .jar do driver jdbc para SQLServer, verifique se ele está na sua aplicação: sqljdbc4.jar

Caso não, baixe do site da microsoft,
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707

Você também pode utilizar o jtds driver, que acredito ser mais rápido que o oficial da microsoft
http://jtds.sourceforge.net/

Usando jtds a string de conexão fica mais ou menos assim, supondo que está configurado para usar a porta 1433:
jdbc:jtds:sqlserver://localhost:1433/dbEdySystem

Estes posts tem informações sobre instalação e configuração das portas, pode ser que seja necessário:
http://www.guj.com.br/java/228640-resolvido-conexao-jdbc-sql-server-2008
http://www.guj.com.br/java/236964-resolvidosql-server-2008-r2-express
[/quote]

Caro Jamir gostaria de saber em ql pasta este .jar tem q ficar pois eu o inclui no projeto só agora não sei se está na pasta certa

Grato pela ajuda

Geralmente de cria uma pasta ‘lib’ onde está seu projeto e inclui lá o .JAR. A JVM vai encontrar
Você também pode colocar direto no JDK/JRE, aí todas tuas aplicações java irão enxergar, sem ter que incluir em cada uma.

Se for JDK copie para $JAVA_HOME/jre/lib/ext/

Se for JRE copie para $JAVA_HOME/lib/ext/

Jamir:
Vc falou que ele cria uma pasta lib dentro d meu projeto não eh e a JVM encontra-o lá.
Pois bm dando uma olhada nas pastas de meus projetos percebi que ele não está criando este diretório
este comportamento é normal??

Você está utilizando Eclipse ou Netbeans prá editar ?
Ao criar um projeto e adicionar libraries são eles que montam a estrutura.

Prezado Jamir

eu estou utilizando ambos mas nenhum está me trazendo o resultado esperado
estou encontrando certa dificuldade em entender como o mesmo funciona,

ou ele esbarra no drive ou da erro de porta, já setei as config q vc me postou mas não obtive sucesso também

Grato pela ajuda

Att Edney

Então Edney,

Se você tiver a mensagem de erro pode postar aqui que facilita bastante.
Se puder postar também o código que está testando ajuda, pode ser algo bem simples que está errado e passou despercebido.

Um pergunta, você já utiliza esse mesmo SQLServer em aplicações locais com .NET e está funcionando?
Pode ser até o firewall bloqueando o acesso…

Então Jamir.
O código de erro e o fonte do programa posto hj a noite para vcs pois está em meu PC
e já respondendo sua pergunta sim eu manipulo o SQL SERVER 2005/2008 pelo .NET,
inclusive trabalho em algumas empresas desta maneira, e funcionam muito bem
inclusive pequenos aplicativos que faço só para fins de estudo; e em relação ao firewall
eu cheguei a desativar o msmo mas de nada adiantou. Então mais tardar eu já posto
as diversas mensagens de erro, e o fonte da classe

Grato pela ajuda

Como comentei segue neste post o código fonte utilizado com o jdbc:

import java.sql.*;

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

/**
*

  • @author Edney Programador
    */
    public class Banco {
    public static void main(String[] args){
    try{
    System.out.println(“conectando”);
    Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
    Connection conexao = DriverManager.getConnection(“jdbc:sqlserver://localhost/dbEdySystem”,“edy”,“abc123”);
    System.out.println(“conectado”);
    conexao.close();
    }
    catch(Exception e){
    System.out.println(“falha”);
    System.out.println(e.getMessage());
    }
    }
    }

e em relação aos erros ocorrem de diversas maneiras;
um dos erros é o seguinte:

Falha na conexão TCP/IP com o host localhost/dbEdySystem, porta 1433. Erro: “null. Verifique as propriedades da conexão, se uma instância do SQL Server está sendo executada no host e se está aceitando conexões TCP/IP na porta, e verifique se nenhum firewall está bloqueando as conexões TCP na porta.”.

é o erro q está aparecendo com maior frequencia