Bom galera eu tinha postado em outro indice na lista, em java básico mas não sei se era o lugar certo ai olhando a lista vi que tem uma categoria pra BD então to postando queria saber se alguem pode me ajudar a fazer esse tipo de conexão.
Eu estou estudando autodidata mesmo terminei meus estudos na apostila FJ - 11 da caelum e queria testar a conexão com BD ai eu ia usar oque eu uso aqui mesmo e ja estou acostumado, tem alguem que pode dar uma força nessa conexão eu ate peguei um exemplo mas não funcionou direito.
Se alguem puder dar uma força, desde ja agradecido.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Testa {
public static void main(String args[]) {
// Criando as variáveis de conexão e de statement
Connection con;
Statement stmt;
String query = "select * from PRD_REFERENCIA";
// Verificando se o driver JDBC está instalado e pode ser utilizado
try{
Class.forName("net.sourceforge.jtds.jdbc.Driver");
}
catch(java.lang.ClassNotFoundException e){
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try{
// Abrindo a conexão com o servidor, login sa e sem senha
//jdbc:microsoft:sqlserver://server1:1433;User=test;Password=secret
con = DriverManager.getConnection("jdbc:jtds:sqlserver://SERVIDOR:1433/STATUS","","");
stmt = con.createStatement();
// Criando a instrução a partir do SELECT que está dentro da variável query
ResultSet rs = stmt.executeQuery(query);
System.out.println("Lista de linhas da tabela sysobjects:");
// Fazendo um loop para mostrar tudo o que foi retornado do banco
while (rs.next()){
// Obtendo o campo name em um string
String name = rs.getString("name");
// Obtendo o campo id em um inteiro
int i = rs.getInt("id");
System.out.println(name + " " + i);
}
//Fechamdno a instrução e a conexão
stmt.close();
con.close();
}
catch(SQLException ex){
System.err.println("SQLException: " + ex.getMessage());
}
}
}
e ao erro esta ai:
java.sql.SQLException: I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:614)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:344)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Testa.main(Testa.java:12)
Caused by: java.io.IOException: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.jdbc.TdsCore.sendMSLoginPkt(TdsCore.java:1889)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:587)
… 6 more
Bem amigo, eu uso exatamente o msm jar que vc, só que uso com SQL Server 2005. Será que não é esse o problema? Será que vc não precisa de outro jar pra versão de SQL Server que vc está usando?
Outra coisa, vc tem certeza de que seu projeto está enxergando esse jar direitinho? Vc consegue vê-lo nas libs do seu projeto?
Também estou com este problema, porém a mensagem é a seguinte:
java.sql.SQLException: Network error IOException: Connection timed out: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:385)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
Minha configuracao está extamente igual a sua, uso o SQL Server 2005 e a mesma versão do jTDS. Ele está nas libs do projeto, no classpath mas mesmo assim nao consigo conectar. Ele fica tentando por um tempo depois dá erro.
Timeout é normalmente acontece porque o banco de dados não está respondendo. Será que você não está fora da rede ou tentando conectar ao endereço errado?