2
respostas

Sem conexão com o banco

Olá, preciso de uma ajuda com minha conexão.

Seguir os passos da aula para conexão com o banco de dados MySql contudo está gerando um erro conforme abaixo:

Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/consultas?autoReconnect=true&useSSL=false
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
    at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
    at TestaConexao.main(TestaConexao.java:14)

Já tentei varias formas e mesmo assim não esta se conectando.

Estou usando a IDE Eclipse atual Estou usando o MySql 5.7 com Workbench

e o código que estou usando é: import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Connection;

public class TestaConexao {

public static void main(String[] args) throws SQLException {

    String url = "jdbc:mysql://localhost/consultas?autoReconnect=true&useSSL=false";
    String use = "root";
    String pas = "root";

    System.out.println("Abrindo a conexxão");
    Connection con = DriverManager.getConnection(url, use, pas);

    System.out.println("Fechando a Conexão");
    con.close();
    System.out.println("Conexao fechada");

}

}

2 respostas

Rsrsrsrsrs,

Estava desconfiando do que pode ter ocorrido, o Eclipse não importou a classe JAR corretamente. excluir o projeto e criei um novo com uma nova importação. agora deu certo. Tive que acresentar o "?useTimezone=true&serverTimezone=UTC", pois gerou um erro de:

Exception in thread "main" java.sql.SQLException: The server time zone value 'Hora Padr?o de Buenos Aires' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)

Mais agora conseguir conectar. vlw

Olá Galera da Alura.

Estou tentando criar uma conexão junto ao SQLServer da minha máquina.

Estou com o projeto da Pós-Graduação em banco de dados, para fazer o sistema que possa se conectar com os 4 maiores bancos utilizados (Oracle, SQLServer, MySQL, PostrgreSQL). O "mysql" falado no post anterior conseguir me conectar depois de um pequeno esforço, já me conecto tanto local quanto remotamente.

O SQLServer já baixei dois "JARs" (sqljdbc42 e sqljdbc4-3.0) e não conseguir me conectar. Gera o erro "Falha na conexão TCP/IP com o host SQLEXPRESS, porta 1433. Erro: "null. 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.".

Inicialmente verifiquei que a porta do meu PC esta null e corrigir para 1433. Já verifiquei que a porta não esta sendo bloqueada pelo firewall e mesmo assim gera o erro:

Segue o código efetuado.

package br.com.projetojars.dao;

import java.sql.Connection; import java.sql.SQLException;

public class TestarConexao {

public static void main(String[] args) throws SQLException, ClassNotFoundException {

    DadosConexao dc = new DadosConexao("sqlserver", "SQLEXPRESS:1433",
            "loja_virtual", "sa", "db4t3st3");

    ConnectionFactory cf = new ConnectionFactory(dc);
    Connection con = cf.conexao();
    System.out.println("Conexão Realizada com Sucesso.");

}

}

private Connection sqlServer(DadosConexao dados) throws SQLException, ClassNotFoundException {

    url = "jdbc:sqlserver://sqlexpress:1433;databaseName=loja_virtual;integratedSecurity=true";
    String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

    Class.forName(driver);
    this.cpds.setJdbcUrl(url);
    this.cpds.setUser(dados.getUsuario().toString());
    this.cpds.setPassword(dados.getAcesso().toString());
    this.cpds.setMaxPoolSize(30);

    this.dataSource = cpds;
    System.out.println("Solicitando Conexão");
    return DriverManager.getConnection(
        url, dados.getUsuario().toString(), dados.getAcesso().toString());

}

Alguém poderia me ajudar.