Erro com JDBC

4 respostas
A

Estou com problema com minha conexão JDBC

segue meu getConnection:

public static Connection getConnection() {
		Connection connection = null;
		hostName = "172.16.5.204";
		userName = "root";
		password = "anderson";
		jdbcDriver = "org.gjt.mm.mysql.Driver";
		dataBaseName = "menuLateral";
		dataBasePrefix = "jdbc:mysql://";
		dabaBasePort = "3306";
		url = dataBasePrefix + hostName + ":" + dabaBasePort + "/" + dataBaseName + "/";
		
		try {
			if (connection == null) {
				Class.forName(jdbcDriver);
				connection = DriverManager.getConnection("jdbc:mysql://localhost/menuLateral?user=root&password=anderson");
			} else if (connection.isClosed()) {
				connection = null;
				return getConnection();
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return connection;
	}

erro:

Mon Mar 19 15:12:00 BRT 2007 TRACE:  --> NonRegisteringDriver.java:259 com.mysql.jdbc.NonRegisteringDriver.connect("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", {})
Mon Mar 19 15:12:01 BRT 2007 TRACE:   --> NonRegisteringDriver.java:423 com.mysql.jdbc.NonRegisteringDriver.parseURL("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", {})
Mon Mar 19 15:12:01 BRT 2007 TRACE:    --> StringUtils.java:1128 com.mysql.jdbc.StringUtils.startsWithIgnoreCase("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", "jdbc:mysql://")
Mon Mar 19 15:12:01 BRT 2007 TRACE:     --> StringUtils.java:1112 com.mysql.jdbc.StringUtils.startsWithIgnoreCase("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", 0, "jdbc:mysql://")
Mon Mar 19 15:12:01 BRT 2007 TRACE:     <--  StringUtils.java:1112 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(..) returning true
Mon Mar 19 15:12:01 BRT 2007 TRACE:    <--  StringUtils.java:1128 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(..) returning true
Mon Mar 19 15:12:01 BRT 2007 TRACE:    --> StringUtils.java:1128 com.mysql.jdbc.StringUtils.startsWithIgnoreCase("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", "jdbc:mysql:mxj://")
Mon Mar 19 15:12:01 BRT 2007 TRACE:     --> StringUtils.java:1112 com.mysql.jdbc.StringUtils.startsWithIgnoreCase("jdbc:mysql://localhost/menuLateral?user=root&password=anderson", 0, "jdbc:mysql:mxj://")
Mon Mar 19 15:12:01 BRT 2007 TRACE:     <--  StringUtils.java:1112 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(..) returning false
Mon Mar 19 15:12:01 BRT 2007 TRACE:    <--  StringUtils.java:1128 com.mysql.jdbc.StringUtils.startsWithIgnoreCase(..) returning false
Mon Mar 19 15:12:01 BRT 2007 TRACE:    --> StringUtils.java:849 com.mysql.jdbc.StringUtils.indexOfIgnoreCase(0, "user=root", "=")
Mon Mar 19 15:12:01 BRT 2007 TRACE:    <--  StringUtils.java:849 com.mysql.jdbc.StringUtils.indexOfIgnoreCase(..) returning 4
Mon Mar 19 15:12:01 BRT 2007 TRACE:    --> StringUtils.java:849 com.mysql.jdbc.StringUtils.indexOfIgnoreCase(0, "password=anderson", "=")
Mon Mar 19 15:12:01 BRT 2007 TRACE:    <--  StringUtils.java:849 com.mysql.jdbc.StringUtils.indexOfIgnoreCase(..) returning 8
Mon Mar 19 15:12:01 BRT 2007 TRACE:   <--  NonRegisteringDriver.java:423 com.mysql.jdbc.NonRegisteringDriver.parseURL(..) returning {HOST=localhost, user=root, password=anderson, DBNAME=menuLateral}
java.lang.NoClassDefFoundError: java/sql/Savepoint
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(DriverManager.java:512)
	at java.sql.DriverManager.getConnection(DriverManager.java:194)
	at br.com.bradesco.netEmpresa.integracao.MySQLDAOFactory.getConnection(MySQLDAOFactory.java:35)
	at br.com.bradesco.netEmpresa.integracao.MySQLMenuDAO.getMenu(MySQLMenuDAO.java:24)
	at br.com.bradesco.netEmpresa.apresentacao.MenuAction.main(MenuAction.java:27)
Exception in thread "main"

valeu!!!

4 Respostas

P

Qual SDK vc esra usando ?
Faça um teste usando o sdk 1.4.

Editado:
É o sdk da SUN ?

Esta classe foi introduzida na API na versão 1.4

K

Isso que vc postou é seu código real???

Se for, tenta remover o “user” e o “password” da sua string de conexão ficando assim:

connection = DriverManager.getConnection("jdbc:mysql://localhost/menuLateral?"root"&"anderson");

ou como vc já declarou eles, pode ser assim:

connection = DriverManager.getConnection("jdbc:mysql://localhost/menuLateral?user&password");

tenta ai, e posta a resposta aqui

K

ahh esqueci de falar que vc tb não colocou o nome da sua base de dados…

ficando assim:

connection = DriverManager.getConnection("jdbc:mysql://STRING_DO_BD: PORTA/NOME_BASE?"USUARIO"&"SENHA");

desconsidera os espaços que tiver na string porque eu fiz de propósito só para nao aparecer os emotions. Nessa string de conexão, coloca tudo junto

P

o problema é que a classe java.sql.Savepoint na esta sendo encontrada, como mostra o stack trace

java.lang.NoClassDefFoundError: java/sql/Savepoint
 	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)

Esta classe foi introduzida na API apartir da versao 1.4.
Provavelmente o sdk que o Anderfsilva deve estar usando é inferior a versao 1.4.

Criado 19 de março de 2007
Ultima resposta 19 de mar. de 2007
Respostas 4
Participantes 3