Poblemas na coneção com banco mysql usando eclipse

12 respostas
Z

[size=18] Estou assistindo algumas vídeos aulas no youtube sobre conexão com banco de dados, pois preciso elaborar o meu TCC.
Mais o código de conexão não deu certo, espero que alguém possa me ajudar, pois não estou conseguindo compreender o problema.[/size]

package MysqlConnection;

import java.sql.Connection;
import java.sql.Statement;



public class InsereUsuario {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Banco banco = new Banco();
			try{
				Connection ExConn = banco.abrirBDConn();
				Statement stmt = ExConn.createStatement();
				String sSQL = "INSERT INTO Cliente(Nome,Email,Produto)values('Arnaldo','[email removido]','borracha')";
				boolean res = stmt.execute(sSQL);
				stmt.close();
				banco.fecharBDConn();
				System.out.println((!res)?"Inclusão OK": "Erro na inclusão");
			}catch(Exception ex){
				ex.printStackTrace();
			}

	}

}
package MysqlConnection;

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

public class Banco {
	
	//propriedades de baanco de dados
	
	private String nDSN;
	private String cDSN;
	private Connection oConn;
	private Statement sStmt;
	
	//construtor de classe
	
	public Banco(){
		   //iniciando os atributos
		
		nDSN =" ";
		cDSN ="jdbc:odbc:" + nDSN;
		
	}
	
	
	//propriedade de banco
	
	private String getcDSN(){
		return cDSN;
		
	}
	
	//metodo para manipular o banco de dados
	public Connection abrirBDConn() {
		Connection oConn;
		//abre a conexão com o banco de dados
		try{
			
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			
			oConn = DriverManager.getConnection(getcDSN());
			System.out.println("Conectado ao banco de dados");
			
			return oConn;
			
		}catch(ClassNotFoundException cnfe) {
			
			System.out.println("Driver nao encontrado.");
			return null;
			
		}catch(SQLException sql) {
			System.out.println("Nao foi possivel conectar ao banco de dados.");
			return null;
		}catch(Exception e){
			System.out.println(e.getMessage());
			return null;
		}
		
	}
	
	public ResultSet oExecuta(String sSQL) {
		oConn = abrirBDConn();
		try {
			sStmt = oConn.createStatement();
			
			//Executa a SQL recebida
			ResultSet oRS = sStmt.executeQuery(sSQL);
			
			//retorna um objeto ResultSet
			return oRS;
		}catch(Exception e){
			System.out.println(e.getMessage());
			return null;
		}
	}
	public void fecharBDConn(){
		try {
			sStmt.close();
			
			oConn.toString();
			
			
		}catch(Exception e) {
			System.out.println("Erro ao fechar o banco de dados."
			+ e.getMessage());
		}
	}


}

[size=18] O banco de dados é o MySql

O banco de dados se chama loja1 e contem apenas uma tabela chamada clientes, possui os campos clienteID com auto incremento do tipo int o campo nome, o campo email e o campo produto do tipo varchar.[/size]

12 Respostas

D

Deveria parar de assistir estas aulas.
Veja que você está usando um Driver da sun (que serve sabe-se lá para que).
Para o MySQL você precisa do mysql-connector-xxxx.jar e de uma estrutura de configuração adequada, facilmente encontrada em pesquisas no google.

E

Postar o erro ajuda mais do que postar todo o código.

[color=yellow]Achei que eu tinha dado zoom no navegador. :lol: [/color]

D

ErickRAR:

[color=yellow]Achei que eu tinha dado zoom no navegador. :lol: [/color]

Tive a mesma impressão…

N

Coloca o stackTrace da exceção e tenta usar o driver jdbc do MySQL.

Z

Nao foi possivel conectar ao banco de dados.

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)

at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)

at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)

at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)

at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at MysqlConnection.Banco.abrirBDConn(Banco.java:44)

at MysqlConnection.InsereUsuario.main(InsereUsuario.java:17)

java.lang.NullPointerException

at MysqlConnection.InsereUsuario.main(InsereUsuario.java:18)
D

Como eu disse, driver e configurações erradas.

N

Se voce esta usando ODBC, precisa instalar o driver ODBC do MySQL e também configurar
o seu banco nas fontes de dados.

Z

Eu não encontrei o driver mysql através do painel de controle / fonte de dados(odbc), então procurei na internet, e encontrei esse caminho
-> C:\WINDOWS\SysWOW64\odbcad32.exe
Copie e colei esse caminho no meu explorer, achei a mesma interface de fonte de dados que existia no painel de controle, mas nessa existia o driver, que se chama MySql ODBC 5.1 driver, ali configurei o meu banco.

Há alguma coisa errada no que fiz?

N

Como voce esta usando ODBC, da uma olhada nesse tutorial.

http://www.enduserguides.com/software/db/mysqlapps/eug_create-an-odbc-connection-to-a-mysql-database.html

J

Sim, existe. Quer dizer, errado mesmo foi só o Poblema e conecção, de resto, tudo é válido.

O jeito mais fácil pra você se conectar ao banco MySQL com Java é utilizando o Connector/J - http://dev.mysql.com/downloads/connector/j/

Baixa esse (unzipa só o jar), tenta e posta o que aconteceu.

Edit: Esse é o link que está na página do MySQL - http://www.developer.com/java/data/article.php/3417381/Using-JDBC-with-MySQL-Getting-Started.htm
Abre o link, fecha a propaganda, clica no Skip this ad (chatão isso) e depois ele vai abrir pra você um tutorial maneiro.

Z

Obriga a todos
Consegui fazer a conexão usando o o connector/J

Muito obrigado a todos.

B

Pessoal to com o mesmo problema. só que o meu código da drive não encontrado. e o mesmo código :frowning: .

Driver não encontrado
java.lang.NullPointerException
at b.com.Loja.exemplo.InsereUsuario.main(InsereUsuario.java:22)

Criado 14 de setembro de 2012
Ultima resposta 6 de nov. de 2012
Respostas 12
Participantes 6