Erro com SQL Server + eclipse: Falha na conexão TCP/IP com o host SQL, porta 1433

Olá pessoal! Tudo bem?
Estou com um problema com o seguinte código:

package criacaoclasseBD;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BD {
/Objeto que fará conexão usando o drive/
public Connection con= null;
/Sabe executar instruções no SQL/
public PreparedStatement st= null;
/Recebe o resultado de uma instrução/
public ResultSet rs = null;
/Constante que vai armazenar o endereço do driver usado/
//As duas constantes a seguir são informações que deveriam estar criptografadas em outro local
private final String DRIVER = “com.microsoft.sqlserver.jdbc.SQLServerDriver”;
private final String BANCO =“empresa”;
//endereço de conexão podendo ser web (localweb, domínio, etc)
private final String URL = “jdbc:sqlserver://localhost:1433;integratedSecurity=true”;

/Autenticação do SQLServer/
private final String LOGIN = “leo”;
private final String SENHA = “123456”;

/Metodo que se conecta ao banco/
public boolean getConnection() {
//Carregar o Driver -> é o processo responsável por fazer a conexão em tempo de execução.
try {
Class.forName(DRIVER);
System.out.println(“Driver carregado”);
/drive manager possui um metodo chamado getConnection para obter(caminho, login, senha)/
con = DriverManager.getConnection(URL, LOGIN, SENHA);
System.out.println(“Conectou”);
return true;
} /Tipo do erro variável que guarda a mensagem do erro e os comandos, como
no exemplo a baixo
/
catch(SQLException erro) { /SQL exception para entender oq deu erro/
System.out.println("Falha na conxão: "+erro.getMessage());
}
catch(ClassNotFoundException erro) {
System.out.println(erro.getMessage());

  }		
  
  return false;
  /*Aplicação que vai consumir o BD vai saber se deu certo ou não
   * True em try e false em catch*/

}
/Encerra conexão iniciada/
public void close() {
/RS - ResultSet/
try {
if(rs!=null) {
rs.close();
}
}
catch(SQLException erro) {

  }
  /*ST - Statement*/
  try {
  	if(st!=null) {
  		st.close();
  	}
  }
  catch(SQLException erro) {
  	
  }
  /*Con - Connection*/
  try {
  	if(con!=null) {
  		con.close();
  		System.out.println("Desconectou");
  	}
  }
  catch(SQLException erro) {
  	
  }

}

public static void main(String[] args) {
//Instancia a classe BD
BD bd = new BD();
bd.getConnection();
//

  /*Executar operação*/
  //
  bd.close();

}
}

O problema é o seguinte:
Estou tentando rodar a classe DB para acessar o banco de dados do SQL SERVER 2017, então a gente precisa carregar os drivers que fazem o acesso e depois conectar após ter criado o banco de dados no SQL SERVER e permitido, nas configurações do próprio SQL SERVER, que haja conexão TCP/IP na porta 1433.

Fiz tudo isso ai, tudo bonitinho, tentei conectar com o usuário padrão “sa” no SQL SERVER, deu ruim todas as vezes. O erro gerado foi:

Falha na conxão: Falha na conexão TCP/IP com o host localhost, porta 1433. Erro: “connect timed out. Verifique as propriedades da conexão. Verifique se uma instância do SQL Server está sendo executada no host e se está aceitando conexões TCP/IP na porta. Verifique se as conexões TCP na porta não foram bloqueadas por um firewall.”.

Basicamente, ele não conecta. Meu firewall foi desligado, a porta está aberta, a configuração está ativada, criei um novo usuário chamado “leo” para testar, mas ainda sim, continua sem sucesso.

Meu professor disse que isto poderia se resolvido fazendo o seguinte:

De acordo com a Microsoft, pode haver problema com sua instalação: “Quando você usa autenticação SQL Server, o JDBC Driver exige que SQL Server seja instalado com autenticação SQL Server, que não é o padrão. Verifique se esta opção estará incluída quando você instalar ou configurar sua instância do SQL Server.”

O problema é que eu reinstalei com a autenticação mista, mas para a surpresa de todos nós: não funcionou. Acredito que eu tenha feito a reinstalação de maneira errada, mas de verdade, não estou conseguindo resolver o problema.

Acho que forneci informações suficientes e se alguém puder me ajudar ou tiver uma solução diferente para implementar no código java pra autenticar com o windows, isso me ajudaria muito.

Consegue conectar no banco através do Sql Management Studio, na mesma máquina que a aplicação Java ta sendo executada? E configurou o Sql Server pra permitir conexões via TCP?

Consigo sim! e o configurei pra permitir conexões TCP
eu acho que vou tentar usar mysql pra isso, se não vou perder muito tempo

Os serviços estao rodando? Sql Server e Sql Server Browser?

Infelizmente agora não vou poder responder, no entanto, eu desinstalei o SQLServer e instalei o mySQL pq eu realmente desisti, o problema continua, mas estou vendo uns artigos aqui, pq felizmente, uma pessoa ja passou por um problema parecido ahaha, mas vou digitar o código usado aqui:

package criacaoclasseBD;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BD {
/Objeto que fará conexão usando o drive/
public Connection con= null;
/Sabe executar instruções no SQL/
public PreparedStatement st= null;
/Recebe o resultado de uma instrução/
public ResultSet rs = null;
/Constante que vai armazenar o endereço do driver usado/
//As duas constantes a seguir são informações que deveriam estar criptografadas em outro local
private final String DRIVER = “com.mysql.jdbc.Driver.class”;
private final String BANCO =“empresa”;
//endereço de conexão podendo ser web (localweb, domínio, etc)
private final String URL = “jdbc:mysql://localhost:3306/”+BANCO;

/Autenticação do mySQL/
private final String LOGIN = “leo”;
private final String SENHA = “123”;

/Metodo que se conecta ao banco/
public boolean getConnection() {
//Carregar o Driver -> é o processo responsável por fazer a conexão em tempo de execução.
try {
Class.forName(DRIVER);
System.out.println(“Driver carregado”);
/drive manager possui um metodo chamado getConnection para obter(caminho, login, senha)/
con = DriverManager.getConnection(URL, LOGIN, SENHA);
System.out.println(“Conectou”);
return true;
} /Tipo do erro variável que guarda a mensagem do erro e os comandos, como
no exemplo a baixo
/
catch(SQLException erro) { /SQL exception para entender oq deu erro/
System.out.println("Falha na conxão: "+erro.getMessage());
}
catch(ClassNotFoundException erro) {
System.out.println(erro.getMessage());

  }		
  
  return false;
  /*Aplicação que vai consumir o BD vai saber se deu certo ou não
   * True em try e false em catch*/

}
/Encerra conexão iniciada/
public void close() {
/RS - ResultSet/
try {
if(rs!=null) {
rs.close();
}
}
catch(SQLException erro) {

  }
  /*ST - Statement*/
  try {
  	if(st!=null) {
  		st.close();
  	}
  }
  catch(SQLException erro) {
  	
  }
  /*Con - Connection*/
  try {
  	if(con!=null) {
  		con.close();
  		System.out.println("Desconectou");
  	}
  }
  catch(SQLException erro) {
  	
  }

}

public static void main(String[] args) {
//Instancia a classe BD
BD bd = new BD();
bd.getConnection();
//

  /*Executar operação*/
  //
  bd.close();

}
}

Desculpe pela drástica mudança hhaha,
Vou alterar o tópico.