Conexao ao banco de dados

14 respostas
K

Olá gente…
Seguinte, preciso efetivar uma conexão com o banco de dados para usar a ide JCreator pois na facul exigem obviamente os códigos de conexão e manipulação de dados tudo manual, só que não estou conseguindo fazer essa conexão, será que o fato de eu ter o NetBeans instalado e conectando com o banco de dados normal tem a ver com essa impossibilidade de conectar manualmente?
Com o NetBeans é tranquilo, conecto, mexo nas tabelas, manipulo e tudo o mais, mas não consigo acessar o Banco manualmente nem a pau, driver instalado e tudo certo, se não estivesse o Netbeans não estaria conectando, será que alguém pode dar uma dica aí??
Já dei uma boa olhada nos tutoriais aqui no guj e não encontrei nada, se porventura tiver, não foi preguiça, é que tem muito tópico e realmente não encontrei…
Vlw

14 Respostas

L

Cara, eu nunca vi este problema. Já usei o JCreator, ha algum tempo e não tive muitos problemas com conexão.

Posta aí suas classes e o erro que você está recebendo.

Abs

K

Leandro M.:
Cara, eu nunca vi este problema. Já usei o JCreator, ha algum tempo e não tive muitos problemas com conexão.

Posta aí suas classes e o erro que você está recebendo.

Abs

Olá…
Agradeço a atenção, eis o código de conexão…
Aparece como conexão não foi possível…

//importe de pacotes

import javax.swing.<em>;

import java.sql.</em>;
class ConexaoDB{

private String FonteDB,Usuario,Senha;

private Connection Conexao;
//--construtor de classe com parâmetros
public ConexaoDB(String_FonteDB,String_Usuario,String_Senha);{
	setFonte (_FonteDB);
	setUsuario (_Usuario);
	setSenha (_Senha);
}
//-Modificadores
public void setFonte (String_FonteDB){FonteDB=_FonteDB;}
public void setUsuario(String_Usuario){Usuario=_Usuario;}
public void setSenha(String_Senha) {Senha=_Senha;}
public void setConexao(Connection_Conexao){Conexao=_Conexao;}
 //--recuperadores
 public String getFonte(){return FonteDB;}
 public String getUsuario(){return Usuario;}
 public String getSenha(){return Senha;}
 public Connection GetConexao(){return Conexao;}
 //--Método para conexao com banco de dados
 //--Retorna verdadeiro ou falso para indicar se a conexão foi feita
 
 public boolean Conectar(){
 	boolean sucesso=true;
 	String fonte="jdbc:odbc:"+getFonte();
 	try{
 		Class.forName("sun.jdbc.odbc.jdbcOdbcDriver");
 		setConexao(DriverManager.getConnection(fonte,getUsuario(),getSenha()));
 
 	}
 catch(Exception e){
 	sucesso=false;
 	}
 	if(sucesso)
 	JOptionPane.showMessageDialog(null,"Conectou com sucesso.");
 	else
 	JOptionPane.showMessageDialog(null,"Não conectou.");
 	return sucesso;
 	}
 	//--Método para fechar a conexão
 	public void Fechar(){
 		try{
 			getConexao().close();
 			}
 			catch(Exception e){
 				JOptionPane.showMessageDialog(null,"Problema ao fechar o banco.");
 				}
 				}
 				//-Método para preparar o banco de dados para receber os comandos em sql.
 				public Statement PrepararComando(){
 					try{
 						return getConexao().createStatement();
 						}
 						catch(Exception e)
 						{
 						
 						JOptionPane.showMessageDialog(null,"Erro de comando");
 						return null;
 						}
 						}
 						}
 						
 				
 			
 	E o código para instanciar a conexão..

import java.sql.*;
class usarConexao{

public static void main(String args[]){

boolean Conectou;

ConexaoDB C=new ConexaoDB(AcessoDB,root,virtual);

Conextou=C.Conectar();

if(Conectou)

C.Fechar();

System.exit(0);
}

}

K

Leandro M.:
Cara, eu nunca vi este problema. Já usei o JCreator, ha algum tempo e não tive muitos problemas com conexão.

Posta aí suas classes e o erro que você está recebendo.

Abs

Outra coisa, aparece também esse erro após a mensagem de conexão não realizada:
com.mysql.jdbc.Driver

L

Olá

Pergunta: Qual banco de dados você está utilizando?

Dica: Coloca seu código dentro da tag CODE, assim fica mais fácil de visualizá-lo. Ex:

//--importe de pacotes
import javax.swing.*;
import java.sql.*;

class ConexaoDB{
private String FonteDB,Usuario,Senha;
private Connection Conexao;

//--construtor de classe com parâmetros
public ConexaoDB(String_FonteDB,String_Usuario,String_Senha);{
setFonte (_FonteDB);
setUsuario (_Usuario);
setSenha (_Senha);
} 

...
K
Leandro M.:
Olá

Pergunta: Qual banco de dados você está utilizando?

Dica: Coloca seu código dentro da tag CODE, assim fica mais fácil de visualizá-lo. Ex:

MySQL.

//--importe de pacotes
import javax.swing.*;
import java.sql.*;

class ConexaoDB{
private String FonteDB,Usuario,Senha;
private Connection Conexao;

//--construtor de classe com parâmetros
public ConexaoDB(String_FonteDB,String_Usuario,String_Senha);{
setFonte (_FonteDB);
setUsuario (_Usuario);
setSenha (_Senha);
} 

...
K
Leandro M.:
Olá

Pergunta: Qual banco de dados você está utilizando?

Dica: Coloca seu código dentro da tag CODE, assim fica mais fácil de visualizá-lo. Ex:

Ok, desculpe, copiei e colei direto, o banco é o MySQL..
//--importe de pacotes
import javax.swing.*;
import java.sql.*;

class ConexaoDB{
private String FonteDB,Usuario,Senha;
private Connection Conexao;

//--construtor de classe com parâmetros
public ConexaoDB(String_FonteDB,String_Usuario,String_Senha);{
setFonte (_FonteDB);
setUsuario (_Usuario);
setSenha (_Senha);
} 

...
L

Experimenta colocar isso com.mysql.jdbc.Driver no lugar disto sun.jdbc.odbc.jdbcOdbcDriver.

Testa aí e informa o resultado.

K

Leandro M.:
Experimenta colocar isso com.mysql.jdbc.Driver no lugar disto sun.jdbc.odbc.jdbcOdbcDriver.

Testa aí e informa o resultado.

Oi amigo…
Não funcionou, mesmo resultado…

L

Olá amigo

Ainda não funciona mas tirei alguns erros de sintaxe. O resto é com você...

Fiz algumas alterações e comentários, só dá uma lida no código.

Outra coisa: O erro que está dando é este --> [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado. No final tem um exemplo de como se conectar utilizando o Driver mySQL.

Abs

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

public class ConexaoDB {

    private String FonteDB,  Usuario,  Senha;
    private Connection Conexao;

//--construtor de classe com parâmetros
    public ConexaoDB(String _FonteDB, String _Usuario, String _Senha){ //Retire o ponto e vírgula do construtor

        setFonte(_FonteDB);
        setUsuario(_Usuario);
        setSenha(_Senha);
    }
//-Modificadores
public void setFonte (String _FonteDB){FonteDB=_FonteDB;}
public void setUsuario(String _Usuario){Usuario=_Usuario;}
public void setSenha(String _Senha) {Senha=_Senha;}
public void setConexao(Connection _Conexao){Conexao=_Conexao;}
//--recuperadores
public String getFonte(){return FonteDB;}
public String getUsuario(){return Usuario;}
public String getSenha(){return Senha;}
public Connection GetConexao(){return Conexao;}
//--Método para conexao com banco de dados
//--Retorna verdadeiro ou falso para indicar se a conexão foi feita
//--Método para conexao com banco de dados
//--Retorna verdadeiro ou falso para indicar se a conexão foi feita

    public boolean Conectar() {
        boolean sucesso = true;
        String fonte = "jdbc:mysql://" + getFonte(); //Altere o nome de sua fonte
        // --> Esta será sua fonte: jdbc:mysql:localhost/nomeDoSeuBanco?user=Usuario&password=Senha
        try {
            Class.forName("com.mysql.jdbc.Driver"); //Altera o nome do Driver
            setConexao(DriverManager.getConnection(fonte, getUsuario(), getSenha()));

        } catch (Exception e) {
            sucesso = false;
            System.out.println(e.getMessage());
        }
        if (sucesso) {
            JOptionPane.showMessageDialog(null, "Conectou com sucesso.");
        } else {
            JOptionPane.showMessageDialog(null, "Não conectou.");
        }
        return sucesso;
    }
//--Método para fechar a conexão
    public void Fechar() {
        try {
            GetConexao().close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Problema ao fechar o banco.");
        }
    }
//-Método para preparar o banco de dados para receber os comandos em sql.
    public Statement PrepararComando() {
        try {
            return GetConexao().createStatement(); //Arrume o método GetConexao
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro de comando");
            return null;
        }
    }
}
class usarConexao {

    public static void main(String args[]) {
        boolean Conectou;
        ConexaoDB C = new ConexaoDB("AcessoDB", "root", "virtual");
        Conectou = C.Conectar(); //Nome da variável boolean
        if (Conectou) {
            C.Fechar();
        }
        System.exit(0);
//Não esquece de adicionar o Driver mySQL
    }
}

Use seu getConnection() assim

public Connection getConector() throws Exception {
        Connection conn = null;
        try {
            Class.forName(Coloque sua "fonte" aqui);
            conn = DriverManager.getConnection(????); //--> Está parte você descobre como fazer, se não fica muito fácil
        } catch (Exception ex) {
            throw new Exception("Não foi possível conectar com o banco de dados " + ex.getMessage());
        }
        return conn;
    }
K
Leandro M.:
Olá amigo

Ainda não funciona mas tirei alguns erros de sintaxe. O resto é com você...

Fiz algumas alterações e comentários, só dá uma lida no código.

Outra coisa: O erro que está dando é este --> [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado. No final tem um exemplo de como se conectar utilizando o Driver mySQL.

Abs
Olá amigo..
Poxa, obrigado, que trabalheira vc teve, estarei testando e depois te falo..
Abs...

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

public class ConexaoDB {

    private String FonteDB,  Usuario,  Senha;
    private Connection Conexao;

//--construtor de classe com parâmetros
    public ConexaoDB(String _FonteDB, String _Usuario, String _Senha){ //Retire o ponto e vírgula do construtor

        setFonte(_FonteDB);
        setUsuario(_Usuario);
        setSenha(_Senha);
    }
//-Modificadores
public void setFonte (String _FonteDB){FonteDB=_FonteDB;}
public void setUsuario(String _Usuario){Usuario=_Usuario;}
public void setSenha(String _Senha) {Senha=_Senha;}
public void setConexao(Connection _Conexao){Conexao=_Conexao;}
//--recuperadores
public String getFonte(){return FonteDB;}
public String getUsuario(){return Usuario;}
public String getSenha(){return Senha;}
public Connection GetConexao(){return Conexao;}
//--Método para conexao com banco de dados
//--Retorna verdadeiro ou falso para indicar se a conexão foi feita
//--Método para conexao com banco de dados
//--Retorna verdadeiro ou falso para indicar se a conexão foi feita

    public boolean Conectar() {
        boolean sucesso = true;
        String fonte = "jdbc:mysql://" + getFonte(); //Altere o nome de sua fonte
        // --> Esta será sua fonte: jdbc:mysql:localhost/nomeDoSeuBanco?user=Usuario&password=Senha
        try {
            Class.forName("com.mysql.jdbc.Driver"); //Altera o nome do Driver
            setConexao(DriverManager.getConnection(fonte, getUsuario(), getSenha()));

        } catch (Exception e) {
            sucesso = false;
            System.out.println(e.getMessage());
        }
        if (sucesso) {
            JOptionPane.showMessageDialog(null, "Conectou com sucesso.");
        } else {
            JOptionPane.showMessageDialog(null, "Não conectou.");
        }
        return sucesso;
    }
//--Método para fechar a conexão
    public void Fechar() {
        try {
            GetConexao().close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Problema ao fechar o banco.");
        }
    }
//-Método para preparar o banco de dados para receber os comandos em sql.
    public Statement PrepararComando() {
        try {
            return GetConexao().createStatement(); //Arrume o método GetConexao
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro de comando");
            return null;
        }
    }
}
class usarConexao {

    public static void main(String args[]) {
        boolean Conectou;
        ConexaoDB C = new ConexaoDB("AcessoDB", "root", "virtual");
        Conectou = C.Conectar(); //Nome da variável boolean
        if (Conectou) {
            C.Fechar();
        }
        System.exit(0);
//Não esquece de adicionar o Driver mySQL
    }
}

Use seu getConnection() assim

public Connection getConector() throws Exception {
        Connection conn = null;
        try {
            Class.forName(Coloque sua "fonte" aqui);
            conn = DriverManager.getConnection(????); //--> Está parte você descobre como fazer, se não fica muito fácil
        } catch (Exception ex) {
            throw new Exception("Não foi possível conectar com o banco de dados " + ex.getMessage());
        }
        return conn;
    }
L

Sem problema Kleber

Muito gente já me ajudou também e daqui a uns dias será sua vez de ajudar.

Testa aí, depois posta para vermos o resultado.

Abs

K

Leandro M.:
Sem problema Kleber

Muito gente já me ajudou também e daqui a uns dias será sua vez de ajudar.

Testa aí, depois posta para vermos o resultado.

Abs


Olá Leandro…
Bem, sem nenhum erro de compilação mas ainda não está conectando, pelo jeito não é o código, meu driver de conexão não consta nas fontes de dados, mas como é que pode? Eu me conectei com o banco de dados pelo NetBeans normalmente, pela mesma fonte que mencionei, jdbc:mysql:localhost, porta 3306, fui para verificar se meu drive estava lá e nada, agora não sei mais…
Vc sabe sobre isso? Aconteceu algo assim com vc quando foi usar o banco MySQL?
Abs…

L

Tive problemas sim. E muitos. Até quis desistir de aprender a programar Java. Mas não demorou muito e me arrependi (apenas um dia).

Não me lembro mais como faz com o JCreator. Mas não é difícil. Veja uns links abaixo. Não se esqueça do google.

http://www.athanazio.com/2006/10/23/usando-jcreator-para-executar-exemplo-de-bd/

http://javafree.uol.com.br/topic-862732-Mysqlconector-com-Jcreator.html

K

Leandro M.:
Tive problemas sim. E muitos. Até quis desistir de aprender a programar Java. Mas não demorou muito e me arrependi (apenas um dia).

Não me lembro mais como faz com o JCreator. Mas não é difícil. Veja uns links abaixo. Não se esqueça do google.

http://www.athanazio.com/2006/10/23/usando-jcreator-para-executar-exemplo-de-bd/

http://javafree.uol.com.br/topic-862732-Mysqlconector-com-Jcreator.html

Rsrs, valeu pela força, vou fuçar nos links, espero resolver logo, êta xaropice essas configurações, ninguém merece, mas faz parte…
Até a próxima…
Abs…

Criado 21 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 14
Participantes 2