Instalando o driver JDBC

11 respostas
Pilantra

Boa noite

Quero começar a usar banco de dados em Java, baixei o JDBC do MySQL mas não consigo instalar, a rotina pra conectar ao banco de dados é esta:

public JdbcConnection() {
    super();
    /*
     * Os dados setados abaixo servem para uma conexão em MySQL.
     * Altere de acordo com seu BD.
     * 
     * Aconselhamos carregar estes dados de um arquivo.
     */
    //"jdbc:mysql://localhost:3306/meu_bd";
    hostName = "localhost";
    userName = "root";
    password = "*****";    
    jdbcDriver = "org.gjt.mm.mysql.Driver";
    dataBaseName = "meu_bd";
    dataBasePrefix = "jdbc:mysql://";
    dabaBasePort = "3306";
  
    url = dataBasePrefix + hostName + ":"+dabaBasePort+"/" + dataBaseName + "/";
     }

  /**
   * Retorna uma java.sql.Connection.
   * @return con 
   */
  public Connection getConnection() {
    try {
      if (con == null) {
        Class.forName(jdbcDriver);
        con = DriverManager.getConnection(url, userName, password);
      } else if (con.isClosed()) {
        con = null;
        return getConnection();
      }
    } catch (ClassNotFoundException e) {
      //TODO: use um sistema de log apropriado.
      e.printStackTrace();
    } catch (SQLException e) {
      //TODO: use um sistema de log apropriado.
      e.printStackTrace();
    }
    return con;
  }

  /**
   * Fecha a conexão com BD.
   *
   */
  public void closeConnection() {
    if (con != null) {
      try {
        con.close();
      } catch (SQLException e) {
        //TODO: use um sistema de log apropriado.
        e.printStackTrace();
      }
    }

Agradeço a ajuda!
Obrigado

Pilantra 8)

11 Respostas

rigolin

Tente trocar o localhost por 127.0.0.1

Eu uso assim:

import java.sql.*;

public class Banco {

	private static Connection conn;
	private static Statement stm;
	private static String server, database, url, user, password, driver;

	public Banco() {
		driver   = "org.gjt.mm.mysql.Driver";
		server   = "127.0.0.1:3306";
		database = "outorga";
		url      = "jdbc:mysql://" + server + "/" + database; 
		user     = "root";
		password = "";
	}

	public Statement conectaBanco() {
		conn = null;
		try {			 
			Class.forName(driver);			
			conn = DriverManager.getConnection(url, user, password);
			stm = conn.createStatement();			

		} catch (ClassNotFoundException e) {
			// Driver não encontrado
			System.out.println("Mysql - O driver expecificado não foi encontrado.");
		} catch (SQLException e) {
			// Não está conseguindo se conectar ao banco
			System.out.println("Não foi possível conectar ao Banco de Dados");
		}
		return stm;
	}
	
	public void closeConn(){
		try {
            conn.close();
           // System.out.println("\n\nFechamendo a conexão");
        } catch(SQLException erro) {
            System.out.println("Erro no fechamento");
            erro.printStackTrace();
        }
	}	
}
Pilantra

Mas realmente o problema não é coma rotina acima!!! É que eu não sei onde colocar os jars e instalar o JDBC :cry:

rodrigo_gomes

basta coloca-los no seu CLASSPATH

Pilantra

Tipo, eu descompactei o arquivo, dae eu pego essa pasta que foi descompactada e boto no JAVA_HOME/lib
??!!

rodrigo_gomes

se vc tiver a variavel CLASSPATH seta em seu sistema, basta adicionar o .jar no nessa variavel, senao vc pode colocar o .jar dentro de JAVA_HOME/jre/lib/ext (acho que é aqui mesmo)

e se for uma aplicação web com tomcat você pode colocar em
TOMCA_HOME/webapps/suaApp/WEB-INF/lib

acho que é isso

Pilantra

Mas essa pasta tem muitos arquivos, tem um jar chamado mysql-connector-blablabla e depois tem várias pastas!!! Eu to boiando aqui!!! No Windows meu classpath é no javahome/bin se não me engano!!!

rodrigo_gomes

é esse arquivo mesmo, o
mysql-connector-java-[version]-bin.jar

tem umas dessas pastas que você disse que se chama docs, tem um arquivo lah que ensina passo a passo a instalar…
é só seguir e não tem erro

te mais

Pilantra

Aff não está dando certo, como diz no arquivo eu tenho que por na pasta /usr/lib/java/jre/lib/ext os seguintes arquivo, mysql-connector-java-3.1.6-bin.jar e as pastas com e org!! Mas minha aplicação ainda não acha o driver, o MySQL está conectado, somente isso que falta!!!

Pilantra

Aff não está dando certo, como diz no arquivo eu tenho que por na pasta /usr/lib/java/jre/lib/ext os seguintes arquivo, mysql-connector-java-3.1.6-bin.jar e as pastas com e org!! Mas minha aplicação ainda não acha o driver, o MySQL está conectado, somente isso que falta!!!

Pilantra

Opa cancelar, deu certoo!!! Agora ele não reclamou de driver not found hehe!!

Valeu

MarcosOLIVEIRA

ola pessoal!

comecei a programar recentemente e estou tentando fazer um pequeno programa que acessa um BD MySql.
o servidor esta rodando na maquina local, acho que coloquei o driver no claspath nao tenho certeza do dir certo.
bom nao sei qual o erro

package utilitarios;
import java.sql.*;
import javax.swing.*;

public class conexao
{
            String classpath = "postgresql-8.3-603.jdbc4.jar";
    final private String driver =  "com.mysql.jdbc.Driver";
            final private String url = "jdbc:mysql://127.0.0.1:3306/masterprint";
            final private String usuario = "root";
            final private String senha = "senha";
            private Connection conexao;
            public Statement statement;
            public ResultSet resultset;
            
    public boolean conecta()
    {
        boolean result = true;
        try
        {
            Class.forName(driver);
            conexao = DriverManager.getConnection(url, usuario, senha);
            JOptionPane.showMessageDialog(null,"conectou Mysql");
        }
        catch(ClassNotFoundException Driver)
        {
            result = false;
            JOptionPane.showMessageDialog(null, "nao conectou");
        }
        catch(SQLException Fonte)
        {
            result = false;
            JOptionPane.showMessageDialog(null, "nao conectou2");
  
        }
        return result; 
        
    }
    public void desconecta()
    {
        boolean result = true;
        try 
        {
            conexao.close();
            
        } 
        catch(SQLException erroSQL)
        {
            result = false;
        }
    }
    public void executeSQL(String sql)
    {
        try
        {
            statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                    ResultSet.CONCUR_READ_ONLY);
            resultset = statement.executeQuery(sql);
        }
        catch(SQLException sqlex)
        {
            JOptionPane.showMessageDialog(null,"Não foi possível "+
                       "executar o comando sql,"+sqlex+", o sql passado foi "+sql);
        }
    }
}

o eero que aparece e o seguinte

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at utilitarios.conexao.executeSQL(conexao.java:56)
        at cadastro.clientes.<init>(clientes.java:23)
        at cadastro.clientes$13.run(clientes.java:700)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

desde ja fico grato com qualquer ajuda!!!

Criado 9 de fevereiro de 2005
Ultima resposta 20 de ago. de 2008
Respostas 11
Participantes 4