Olá pessoal.
Sou iniciante em Java e embora tenha muitos anos de experiência em outras linguagens, estou tendo as dificuldades básicas relacionadas ao novo ambiente.
O problema que estou enfrentando chega a ser ridículo - e talvez por isso mesmo eu não tenha encontrado na net uma solução - não consigo uma conexão simples com o banco de dados MySQL.
O código que estou usando é um exemplo encontrado na net, no proprio site do MySQL.
A Conexão é via JDBC, baixei o arquivo mysql-connector-java-5.1.0-bin.jar, salvei na pasta [JRE]\lib\ext
CLASSPATH=D:\Java\jre6.0.01\lib\ext\mysql-connector-java-5.1.0-bin.jar
Estou usando o NetBeans 5.5/JDK6
O erro retornado é:
[color=red]No suitable driver found for jdbc:mysql://localhost:3309/unilabw?user=teste&password=teste[/color]
Se alguém puder me dar uma luz, agradeço antecipadamente.
o códio do exemplo é o seginte:
// arquivo: Main.java
import java.sql.*;
/**
*
* @author Alexandre
*/
public class Main {
/** Creates a new instance of Main */
public Main() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String driverName="com.mysql.jdbc.Driver"; // MySQL
// String driverName="postgresql.Driver"; // PostgreSQL
try {
System.err.println("Inicio... \r");
MySQLConnector db = new MySQLConnector(driverName);
if (args.length == 1){
db.connect(args[0]); // primeiro argumento: username
}else if (args.length == 2){
db.connect(args[0],args[1]); // segundo argumento: password
}else{
db.connect("testet", "teste" ); // acesso default
}
System.err.println("Conectado la vai a query... \r");
// neste exemplo, uma consulta fixa
db.query("SELECT * FROM LB_MEDI ORDER BY CNOMEMEDI LIMIT 300");
System.out.println(db.structure());
System.out.println(db.showAll());
// fecha conexao com banco de dados
db.close();
}
catch (SQLException E) {
System.err.println("SQLException: " + E.getMessage());
System.err.println("SQLState: " + E.getSQLState());
System.err.println("VendorError: " + E.getErrorCode());
}
catch (Exception e) {
e.printStackTrace();
}
}
}
// Arquivo: MySQLConnector.java
import java.sql.*;
import java.util.ArrayList;
public class MySQLConnector {
private Connection c;
private ResultSet table;
/** Creates a new instance of MySQLConnector */
public MySQLConnector (String driverName) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
// carrega driver
System.err.println("Vai carregar... ("+driverName+") !\t\n");
// Class.forName(driverName); //.newInstance();
System.err.println("Carga da classe ok !\t\n");
}
public void connect(String user, String password) throws SQLException {
// estabelece conexao com banco de dados
c = DriverManager.getConnection("jdbc:mysql://localhost:3309/unilabw?user=" + user + "&password=" + password);
// c = DriverManager.getConnection("jdbc:mysql://localhost:3309/unilabw", user, password);
}
public void connect(String user) throws SQLException {
connect(user, "");
}
public void connect() throws SQLException {
connect("anonymous", "");
}
public void query(String sql) throws SQLException {
// monta e executa consulta
Statement s = c.createStatement();
table = s.executeQuery(sql);
}
public String structure() throws SQLException {
// obtem e transforma em String a estrutura da tabela
StringBuffer str = new StringBuffer("[ ");
ResultSetMetaData m = table.getMetaData();
int colCount = m.getColumnCount();
for (int i=1; i<=colCount; ++i)
str.append(m.getColumnName(i) + " \t");
return str.append(" ]").toString();
}
public String showAll() throws SQLException {
// obtem e transforma em String o conteudo da tabela
StringBuffer str = new StringBuffer();
int colCount = table.getMetaData().getColumnCount();
while (table.next()) {
for (int i=1; i<=colCount; ++i)
str.append(table.getString(i) + " \t");
str.append("\n");
}
return str.toString();
}
public void close() throws SQLException {
c.close();
}
}