Conectar um programa Java com banco de dados SQL Server 2005

5 respostas
Metallica

Olá!

Bom, dei uma boa procurada aqui no fórum e no Google, e até que aprendi bastante coisa, e acho que estou quase lá.

Quero fazer um programa bem simples se conectar ao BD.
O SQL Server que eu tenho é o 2005 EXPRESS, e instalei também aquele Management Studio.
Já instalei o jTDS e coloquei ele (o .jar) na pasta (jdk1.6.0_02\jre\lib\ext)

Aqui segue o código:

Connection con;
                Statement stmt;
                String query = "select * from musica";
                
                try
                {
                        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

                }
                catch(java.lang.ClassNotFoundException e)
                {
                        System.err.print("ClassNotFoundException: ");
                        System.err.println(e.getMessage());
                }

                try
                {

        
        con = DriverManager.getConnection(" jdbc:jtds:sqlserver://HOME-674CF253E5/SQLEXPRESS:1433;Teste;user=usuario;password=senha");

                        stmt = con.createStatement();

                        
                        ResultSet rs = stmt.executeQuery(query);
                       

                       
                        while (rs.next())
                        {

                       
                             String s = rs.getString("nomeMusica");
                              int i = rs.getInt("codMusica");
                              javax.swing.JOptionPane.showMessageDialog(null,s+i);
                        }
                                                
                }
                        catch(SQLException ex)
                {
                        System.err.println("SQLException: " + ex.getMessage());
                }

Só que to tendo a exceção ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
SQLException: No suitable driver found for jdbc:jtds:sqlserver://...

O erro está na Class.forName(...) mas eu não sei o que deve por lá... (estou usando o jTDS como dito anteriormente)

O que eu gostaria mesmo é de me conectar através do Windows authentication ( que nem precisa de user nem senha) Mas não sei como fazer, é mais simples?
O nome do server é esse, o user e a senha existem e estão configurados certos, o banco de dados "Teste" também.
A String que eu passo pra getConnection é assim mesmo? A barra "/" no HOME-674CF253E5/SQLEXPRESS na verdade é "\", só que assim dá erro.

Espero que tenha ficado claro e que vocês possam me ajudar.
Grato.

5 Respostas

Roger75

Não está achando o driver. Veja se baixou o jar correto, e se setou as variáveis de ambiente direito também.

Metallica

Bom, como eu falei eu baixei o tal jTDS e coloquei o .jar no lugar correto, agora setar as variáveis de ambiente não fiz nada a respeito (só quando você instala o JDK, e tem que mudar lá o caminho. É isso?)

E como é o jTDS essa instrução está certa mesmo?

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Metallica

Ninguém mesmo?

:frowning:

cbridi

[quote=Metallica]
Bom, como eu falei eu baixei o tal jTDS e coloquei o .jar no lugar correto, agora setar as variáveis de ambiente não fiz nada a respeito (só quando você instala o JDK, e tem que mudar lá o caminho. É isso?)

E como é o jTDS essa instrução está certa mesmo?

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Não, a classe do jTDS é outra, essa aí é do driver da MS. Troque por

net.sourceforge.jtds.jdbc.Driver

[]'s

M

Boa Noite,

Pode dar uma olhada em:
http://www.guj.com.br/posts/list/17131.java#347768

ainda faltou uma possibilidade…

Use a ferramenta “SQL Server Configuration Manager” nos protocos -> tcp/ip e defina a porta.

Valeu
t+

Criado 28 de agosto de 2007
Ultima resposta 11 de set. de 2007
Respostas 5
Participantes 4