JDBC ganha de 3 a 0

Amigos :roll:

Sigo na luta para fazer o JDBC conectar ao M$ Sql Server 2000. Debugando o programa em java cheguei a seguinte mensagem de erro:

com o TJDS:
java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver

Com o Microsoft JDBC service pack 2:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

Alguem sabe me dizer o que pode estar acontecendo ?

Abraços
Fabio Amorim

vc tem fazer o download destas bibliotacas…

c vc já fez isso… vc precisa colocalos no seu CLASSPATH

Como o Another disse vc não tem AS BIBLIOTECAS DO DRIVER, tipo assim quando eu uso o mysql eu uso uma biblioteca, para o firebird outra, e assim por diante.

Amigos,
eu estou utilizando o Netbeans 3.5.1, ja inclui os arquivos na variável CLASSPATH, mas parece não fazer diferença, pois o mesmo continua acontecendo. Tenho que incluir o CLASSPATH em algum outro lugar ?

Abraços
Fabio Amorim

Nào só precisa no classpath mesmo…

faz 1 coisa… cola ai as partes q vc conecta ao banco de dados…

vc tem q atentar para o seguitne… saber qual Classe dentro do seu drive.jar contém o drive… ver seus diretorios e colocar ela pra conectar

Class.forName(“pacotes.Driver”).newIntance();

bom c tem q olhar c a classe num está errada

AnotherX,
Segue abaixo o codigo que eu estou utilizando para tentar me conectar ao banco de dados. Eu estou chamando este codigo qdo é pressionado um botão.

[code]
//----------------- inicio

String url = "jdbc:microsoft:sqlserver://192.168.9.101:1433;DatabaseName=testedb";

try 
  { 
  Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); 
   
  connection = DriverManager.getConnection(url,"fabio","1234");
    
  } 
   

  catch (ClassNotFoundException ex) {
      JOptionPane.showMessageDialog(null,ex.getMessage(),".:Erro sql - DB nao encontrado:.",0);
      System.out.println(ex);
  }
  catch(Exception ex) { 
  JOptionPane.showMessageDialog(null,ex.getMessage(),".:Erro sql - Impossivel conectar:.",0); 
      System.out.println(ex);

  } 

//----------------- fim[/code]

[color=“darkblue”]Não esqueça de utilizar o BBCode no seu código (Editado por AnotherX)[/color]

Bom de começo posso falar que pra carregar o drive vc eskeceu do newInstance();

então ficaria assim

segunda coisa… abra o seu arquivo .jar com winzip… e verifique se existe um arquivo SQLServerDriver.class e se ele está dentro da pasta
com/microsoft/jdbc/sqlserver/

outra coisa… tem certeza que a string pra ligar o banco é assim??

no mysql em vez do ; se usa uma / … mas não conheço como é a string com o M$ … no Mysql ficaria assim

me de outras informações como… qual o nome do seu arquivo .jar ???
em que pasta ele se encontra??? e como ta escrito o classpath

AnotherX,
meu classpath esta escrito da seguinte maneira:

classpath=C:\Program Files\j2sdk_nb\netbeans3.5.1\lib\ext\msbase.jar;C:\Program Files\j2sdk_nb\netbeans3.5.1\lib\ext\msutil.jar;C:\Program Files\j2sdk_nb\netbeans3.5.1\lib\ext\mssqlserver.jar;C:\Program Files\j2sdk_nb\netbeans3.5.1\lib\ext
jtds-0.7.1.jar

Mas eu descobri o problema, por algum motivo que deu desconheço o netbeans esta ignorando o classpath, depois que eu copiei os arquivos:

msbase.jar
msutil.jar
mssqlserver.jar
jtds-0.7.1.jar

para o diretório “c:\Program Files\j2sdk_nb\C:\Program Files\j2sdk_nb\j2sdk1.4.2\lib\ext” e inicializei o driver tudo funcionou… mesmo retirando o classpath a coisa funciona…

Observei algumas coisas no driver da Microsoft e gostaria de compartilhar com todos aqui na lista. Fiz alguns testes com o jdbc da microsoft e com o jdbc JTDS (free) para SQLServer. O driver da microsoft se comportou bem, principalmente na passagem de parâmetros para store procedures no banco, mas a performance dele é horrível, seja o banco e/ou a tabela pequena ou grande o driver da microsoft leva uma média de 5 segundos sempre que vai iniciar a conexão com o banco. já com o JTDS foi diferente, ele é bem rápido mesmo com uma tabela gigante ele se mostrou bem rápido… mas eu tive problemas com ele na passagem de parâmetros para store procedures do banco, ainda é cedo para eu falar que seja problema do JTDS, vou dar uma estudada no manual dele e talvez seja problema na maneira em que eu estou passando parametros…

Abraços e obrigado a todos q me ajudaram.
Fabio