Artigos com o marcador mysql
Problema do Rails 2.2.2 com o MySQL em Windows
10/03/09
Desde que a versão 2.2.2 do Rails foi lançada, alguns problemas relacionados ao driver do MySQL, que conectava a aplicação Rails ao banco, começaram a surgir e incharam lista de discussões com relatos de problemas. Um desses problemas era que quando vamos executar o rake db:migrate ocorre um erro que apresentava a seguinte mensagem:
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! 126: The specified module could not be found. - c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so (See full trace by running task with --trace)
Acredito que se você tem esse problema você já deva ter instalado o gem do MySQL e mesmo assim continuou tendo esse problema. Caso você não tenha instalado o gem, por favor faça:
gem install mysql --no-rdoc --no-ri
Feita a instalação, veja se na lista de gems instaladas, se encontra o MySQL. Para ver suas gems instaladas:
gem list --local
O gem do MySQL deverá estar instalado.
Bem, se você tentar rodar o migrate denovo, provavelmente terá o mesmo problema. Pesquisando pelas partes mais distantes da internet encontrei uma solução que dizia para copiar e colar o arquivo <MYSQL_HOME>/bin/libmysql.dll para pasta <RUBY_HOME>/bin. Mas isso tem um porém. Se sua versão do MySQL instalado for a 5.1 o problema continuará.
Você terá que copiar o libmysql.dll do MySQL 5.0. No link abaixo você poderá fazer o download da versão correta do libmysql.dll pra usar:
http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
Copie o libmysql.dll do link acima para a pasta <RUBY_HOME>/bin. Feito isso, tente novamente executar o migrate e verás que agora funciona!
Como conectar o Java ao MySQL usando o NetBeans
25/11/08
Pessoal, resolvi fazer esse artigo ensinando como se conectar a uma base de dados MySQL usando o Java porque vi que é uma dificuldade muito comum entre as pessoas que estão iniciando em programação. Espero que esse artigo ajude a todos que estão com essa dificuldade a sanarem suas dúvidas,
Esse artigo parte do pressuposto de que quem for seguir esse tutorial tenha o JDK (Java Development Kit) instalado assim como o MySQL e o NetBeans. Caso você não tenha nenhum deles, você pode baixar e instalar a partir dos sites oficiais. Abaixo segue os sites de cada um deles:
Para esse tutorial eu estou usando o JDK6, MySQL 5.0 e o NetBeans 6.5 rodando tudo em cima do Ubuntu 8.10 Intrepid Ibex.
O NetBeans possui algumas “facilidades” de conexão a banco de dados bem ao estilo “Next > Next > Ok”. Porém o tutorial foi feito na maneira tradicional.
Após tudo instalado hora de começar a colocar a mão na massa. O Java para se conectar a qualquer banco de dados precisa de um driver de conexão, esse driver é chamado de JDBC (Java Database Connectivity). Sem um JDBC não é possível fazer uma conexão a um banco de dados. Cada banco de dados possui seu próprio JDBC. Por exemplo a Oracle fornece um JDBC para ser usado em bancos Oracle, o PostGRESQL também fornece um JDBC para ser usado com o PostGRESQL e assim vai. Não é diferente com o MySQL. O pessoal do MySQL também disponibilizou um JDBC para ser usado em conexão Java – MySQL.
Um pouquinho mais de informação sobre os drivers JDBC pode ser encontrado aqui na Wikipedia.
Como o MySQL também nos fornece um JDBC, vamos baixa-lo do site oficial do MySQL. Endereço do JDBC é: http://dev.mysql.com/downloads/. No menu, clique em Connectors e depois em Connector/J. Agora é só fazer o download do JDBC. Feito o download descompacte o arquivo.
Vai ser descompactado vários arquivos como instruções e documentações mas o arquivo que nos interessa é um que termina com extensão .JAR. Até a finalização desse artigo o nome do JDBC do MySQL é mysql-connector-java-5.1.7-bin.jar
Esse é o JDBC que irá nos conectar a uma base MySQL. Guarde a localização desse arquivo. Agora vamos criar um banco de exemplo com alguns dados.
Se conecte ao MySQL com sua ferramenta favorita ou pelo console mesmo. Para esse artigo eu criei um banco com uma tabela e três colunas. Tudo bem simples. Se quiser seguir esse exemplo abaixo vai os script SQL para a criação. Basta rodar no banco. Fique a vontade para fazer o esquema de banco a sua maneira, só lembre de mais para frente no artigo adaptar o seu esquema de banco ao código.
Script SQL:
CREATE TABLE IF NOT EXISTS 'usuarios' ( 'nome' varchar(50) NOT NULL, 'email' varchar(50) NOT NULL, 'idade' int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO usuarios (nome, email, idade) VALUES ('Ricardo', 'ricardo@meuemail.com', 23), ('José', 'jose@seuemail.com', 29);
Beleza! Banco criado e alguns dados inseridos. Vamos para o NetBeans!
Abra a NetBeans e teremos uma tela inicial parecida com essa:
Vamos criar nosso projeto. Para isso faça:
- Arquivo > Novo Projeto;
- Escolha categoria: Java. Projeto: Aplicativo Java;
- Clique em Próximo;
- Coloque um nome para o projeto e clique em finalizar;
Próxima tela após clicar no botão Próximo. Aqui é onde definiremos o nome para o projeto e mais algumas configurações.
Nosso projeto foi criado.
Agora vamos adicionar o driver JDBC para que nossa aplicação consiga se conectar ao Banco de Dados. Para isso:
- Clique com o botão direito em cima do Projeto > Propriedades.
- Selecione a opção Bibliotecas e clique no botão Adicionar JARs/pasta.
- Vá até o JDBC que baixamos do site do MySQL selecione o arquivo .jar
- Clique em OK > OK
Pronto. O JDBC já foi adicionado a nossa aplicação. Agora vamos fazer um pouco de código
Nós iremos fazer toda a conexão com banco de dados direto da classe principal que o NetBeans nos forneceu. Logicamente essa metodologia não segue as melhores práticas da programação e todo o resto, mas serve para você ter uma idéia de pelo menos como conectar sua aplicação a uma base MySQL.
O código gerado pelo NetBeans está assim:
package mysqlconnection; public class Main { public static void main(String[] args) { //Nosso código vai aqui } }
Vamos criar a conexão e vamos fazer um select básico no banco. Abaixo segue o código com a conexão, com o envio do select e o tratamento de exceção. O código está comentado com o que cada linha está fazendo:
package mysqlconnection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Main { public static void main(String[] args) { String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC String banco = "MeuBD"; //Nome do Banco criado String host = "localhost"; //Maquina onde está o banco String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão String usuario = "root"; //Usuário do banco String senha = ""; //Senha de conexão try { Class.forName(driver); //Carrega o driver //Obtém a conexão com o banco Connection conn = DriverManager.getConnection(str_conn, usuario, senha); //Cria um statement para podermos mandar um SQL para o banco Statement stmt = conn.createStatement(); //Mandamos o SQL para o banco e obtemos um ResultSet String sql = "SELECT * FROM usuarios"; ResultSet rs = stmt.executeQuery(sql); //Percorrendo o ResultSet e obtendo os valores do banco while (rs.next()) { System.out.println(rs.getString("nome")); System.out.println(rs.getString("email")); System.out.println(rs.getInt("idade")); System.out.println("===================================="); } } catch (ClassNotFoundException ex) { System.out.println("Não foi possível carregar o driver."); ex.printStackTrace(); } catch (SQLException ex) { System.out.println("Problema com o SQL"); ex.printStackTrace(); } } }
Repare que na obtenção dos objetos a partir do ResultSet nós usamos como chave o nome da coluna no banco de dados.
Se estiver tudo certo, já podemos executar nosso código. Para isso faça aperta F6 ou clique no “Play”. Se tudo deu certo e se você utilizou o esquema de banco fornecido nesse post, a saída para console será assim:
run: Ricardo ricardo@meuemail.com 23 ==================================== José jose@seuemail.com 29 ==================================== CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
Bacana hein?!
É isso pessoal, fizemos uma conexão bem simples a uma base de dados MySQL usando Java e JDBC. Espero que tenham gostado do artigo e até a próxima!








Comentários