O driver JDBC não está sendo encontrado

11 respostas
G

Olá pessoal, seguindo o Deitel instalei um servidor MySQL em minha máquina e creio que também tenha instalado o Connector/J.

Na pasta C:\Program Files\MySQL encontra-se a pasta MySQL Connector J. Por isso acho que consegui instalar este conector.

O servidor está funcionando, pois consigo acessá-lo pelo prompt.

Então... Quando tento executar o seguinte código Java acontece as seguintes exceptions:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/books at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at AcessoBD.main(AcessoBD.java:17) java.lang.NullPointerException at AcessoBD.main(AcessoBD.java:42)

O código:

import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class AcessoBD {
	static final String DATABASE_URL = "jdbc:mysql://localhost/books";
	
	public static void main( String args[] ) {
		
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		
		try {
			connection = DriverManager.getConnection(DATABASE_URL, "deitel", "deitel");
			
			statement = connection.createStatement();
			
			resultSet = statement.executeQuery("SELECT AuthorID, FirstName, LastName FROM Authors");
			
			ResultSetMetaData metaData = resultSet.getMetaData();
			int numberOfColumns = metaData.getColumnCount();
			System.out.println("Authors Table of Books Database:\n");
			
			for (int i=1; i <= numberOfColumns; i++)
				System.out.printf("%-8s\t", metaData.getColumnName(i));
			System.out.println();
			
			while (resultSet.next()) {
				for (int i=1; i <= numberOfColumns; i++)
					System.out.printf("%-8s\t", resultSet.getObject(i));
				System.out.println();
			}
		}
		catch (SQLException sqlException) {
			sqlException.printStackTrace();
		}
		finally {
			try {
				resultSet.close();
				statement.close();
				connection.close();
			}
			catch (Exception exception) {
				exception.printStackTrace();
			}
		}
	}
}

O que pode estar acontecendo pessoal?

Agradeço desde já qualquer ajuda.

11 Respostas

R

Você colocou a lib (biblioteca) do MYSQL CONECTOR no seu projeto ?

G

Não. =X

Como eu poderia fazer isso cara? Estou usando o JCreator.

nagpaulo

voce testou se o mysql esta rodando na sua máquina?

yhhik

vá em propriedades >java buil patch e veja se o mysql conector está ae, se nao tiver clique em add external jars e add.

R

Me deculpa se eu estiver falando algo errado… Pois nunca utilizei o JCREATOR… eu utilizo sempre o Eclipse…

Procure algo sobre adicionar JAR… set library… veja se vc acha… e adiciona a library do MYSQL… se quiser eu te envio por e-mail…

Veja se vc consegue achar ai… eu acredito que seja este o erro, posso estar enganado… =/

yhhik

vá em configure>options >jdk profiles> JDK q vc está usando >EDIT.
na aba “classes” clique em add - archive, procure o jar do conector mysql e veja se resolve.

flw

G

Obrigado pela ajuda pessoal, consegui aqui.

Ao criar um novo projeto no JCreator você pode adicionar outras bibliotecas. Então selecionei e adicionei o arquivo.bin que está localizado dentro da pasta do Connector J.

=)

thomazaudio

Você não está chamando o driver de conexão Class.forName(caminho do driver);
ou não importou o driver de conexão para o projeto.

nagpaulo

faz o q o yhhik pois devem esta faltando as biblioteca de conexao

nagpaulo
jdbc:mysql://localhost:3306/test

eu uso os driver do mysql com a porta. Tenta assim!

thomazaudio

Bem lembrado o que o nagpaulo disse.
Até hoje só conectei com o banco de dados especificando a porta.

Criado 2 de janeiro de 2012
Ultima resposta 2 de jan. de 2012
Respostas 11
Participantes 5