Problema com a Conexão com MySQL

4 respostas
D

Por favor alquem pode me dar uma luz.Tenho um arquivo Cadastro.java e dentro dele no actionPerformed eu chamo outro arquivo ConectarBD q faz a conexao com o banco de dados(MySQL) , nao estou conseguindo conectar ao banco. Ja adicionei o Driver mais ta dando esse erro( BDjava.sql.SQLException: Syntax error or access violation, message from server: "Unknown database 'cadastrocliente'") alguem pode me ajudar???? Valeu...

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class Cadastro extends JFrame implements ActionListener{
	
	JLabel l1,l2,l3,l4,l5,lt1;
	JTextField tx1,tx2,tx3,tx4,tx5;
	JButton b1,b2,b3,b4,b5;
	JPanel pcima,pbaixo;
	
	
	public Cadastro(){
		
		super("Cadastro de Cliente");
		setSize(453,185);
		setLocation(100,100);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		
		
		l1=new JLabel("Codigo:      ");
		l2=new JLabel("Nome:        ");
		l3=new JLabel("Endereço: ");
		l4=new JLabel("Cidade:      ");
		l5=new JLabel("UF: ");
		lt1=new JLabel("                                                                  ");
		
		b1=new JButton("Incluir");
		b1.addActionListener(this);
		b2=new JButton("Excluir");
		b2.addActionListener(this);
		b3=new JButton("Alterar");
		b3.addActionListener(this);
		b4=new JButton("Consultar");
		b4.addActionListener(this);
		b5=new JButton("Limpar");
		b5.addActionListener(this);
		
		tx1=new JTextField("1",10);
		tx1.setEditable(false);
		tx2=new JTextField(30);
		tx3=new JTextField(30);
		tx4=new JTextField(10);
		tx5=new JTextField(2);
		
		pcima=new JPanel(new FlowLayout(FlowLayout.LEFT));
		pbaixo=new JPanel(new GridLayout(1,5));
		
		getContentPane().add(pcima,BorderLayout.CENTER);
		getContentPane().add(pbaixo,BorderLayout.SOUTH);
		
		
		pcima.add(l1);
		pcima.add(tx1);
		pcima.add(lt1);
		pcima.add(l2);
		pcima.add(tx2);
		pcima.add(l3);
		pcima.add(tx3);
		pcima.add(l4);
		pcima.add(tx4);
		pcima.add(l5);
		pcima.add(tx5);
		
		pbaixo.add(b1);
		pbaixo.add(b2);
		pbaixo.add(b3);
		pbaixo.add(b4);
		pbaixo.add(b5);
	}
	public void actionPerformed(ActionEvent e){
		
		if(e.getSource()==b5){
			tx1.setText("");
			tx2.setText("");
			tx3.setText("");
			tx4.setText("");
			tx5.setText("");
		}if(e.getSource()==b1){
		
		ConectarBD ibd=new ConectarBD("INSERT INTO clientes(nome,endereco,cidade,uf) values ('"+tx2.getText()+"'," +
					"'"+tx3.getText()+"','"+tx4.getText()+"','"+tx5.getText()+"')");
		
			
			JOptionPane.showMessageDialog(null,"Cadastro incluido com sucesso!");
			
			tx2.setText("");
			tx3.setText("");
			tx4.setText("");
			tx5.setText("");
		
		}
		
	}
	public static void main(String args[]){
		
		Cadastro c=new Cadastro();
		c.setVisible(true);
	}

}
import java.sql.*;
import java.io.*;

public class ConectarBD {
        
        String dbcarregar="com.mysql.jdbc.Driver";
        String dbconexao="jdbc:mysql://localhost:3306/cadastroCliente?user=root&password=root";
        Statement lesql;
        Connection conexao;
        
        public ConectarBD(String comando){
                
                try{
                        Class.forName(dbcarregar);
                }
                catch(ClassNotFoundException e){
                                System.out.println("Não foi possivel carregar o driver");
                        }
                
                try{
                        conexao=DriverManager.getConnection(dbconexao);
                        lesql=conexao.createStatement();
                        lesql.executeUpdate(comando);
                        lesql.close();
                        conexao.close();
                }catch(SQLException e){
                        System.out.println("Nao foi possivel conectar o BD"+e);
                }
        

        }
}

4 Respostas

kicolobo

Se o servidor do MySQL estiver em execução dentro no ambiente Linux, o fato de os caracteres estarem em letras maiúsculas ou minúsculas fazem a diferença. Isto se aplica tanto ao nome do banco de dados quanto ao nome das tabelas.
Então, um banco de dados chamado cadastrocliente será diferente de CadastroCliente.
Se bobear, é isto.
Em ambiente Windows, no entanto, tanto faz se as letras são maiúsculas ou minúsculas.

D

Cara o meu ambiente é Windows

kicolobo

Bom, neste caso então você tem de verificar se o banco realmente existe com o nome que você forneceu para a sua conexão. Por que a mensagem de erro no caso diz respeito exatamente à ausência do banco no servidor.
Verifique se não há espaços no nome por exemplo ou se o mesmo não foi digitado incorretamente.

D

[color=black][size=18]Problema Resolvido !!! Valeu[/size][/color]

Criado 16 de fevereiro de 2007
Ultima resposta 16 de fev. de 2007
Respostas 4
Participantes 2