Conexao com a base de dados

Ola td bem?
Eu to tentando trabalhar com base de dados em java, mas eu não consigo. Ele acha o driver jdbc
correctamente, mas qdo chega na parte da conexão com a base de dados da erro. Por favor se poder me
ajude.
O programa em java é:

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

public class testemain{

final String JDBC_DRIVER = “com.mysql.jdbc.Driver”;
final String DATABASE_URL = “jdbc:mysql://localhost/books”;
final String pass=null;

public testemain() {

Connection connection=null;
Statement statement=null;

 try{
   Class.forName(JDBC_DRIVER);
   connection=DriverManager.getConnection(DATABASE_URL,"mysql",pass);
   statement = connection.createStatement();
   ResultSet resultSet=statement.executeQuery("select * from titles");
   
   while (resultSet.next()){
     String campo= resultSet.getString("title");
     System.out.println(campo);
   }
   statement.close();
   connection.close();

 }
   catch (SQLException exb){
     exb.printStackTrace();
     System.out.println("Erro de Excecção");
     System.exit(1);
   }
 catch (ClassNotFoundException ex) {
   ex.printStackTrace();
   System.out.println("Erro de Ligação");
   System.exit(1);
 }

}
}

O erro mandado é:

C:\Programas\Java\jdk1.5.0_04\bin\javaw -classpath “C:\Documents and Settings\Filipe\jbproject\teste\classes;C:\Programas\Java\jdk1.5.0_04\demo\jfc\CodePointIM\CodePointIM.jar;C:\Programas\Java\jdk1.5.0_04\demo\jfc\Java2D\Java2Demo.jar;C:\Programas\Java\jdk1.5.0_04\demo\plugin\jfc\CodePointIM\CodePointIM.jar;C:\Programas\Java\jdk1.5.0_04\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\charsets.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\deploy.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\ext\dnsns.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\ext\localedata.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\ext\mysql-connector-java-3.0.14-production-bin.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\ext\sunjce_provider.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\ext\sunpkcs11.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\im\indicim.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\im\thaiim.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\javaws.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\jce.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\jsse.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\plugin.jar;C:\Programas\Java\jdk1.5.0_04\jre\lib\rt.jar;C:\Programas\Java\jdk1.5.0_04\lib\dt.jar;C:\Programas\Java\jdk1.5.0_04\lib\htmlconverter.jar;C:\Programas\Java\jdk1.5.0_04\lib\jconsole.jar;C:\Programas\Java\jdk1.5.0_04\lib\tools.jar;C:\Programas\Java\jdk1.5.0_04\sample\jnlp\servlet\jardiff.jar;C:\Programas\Java\jdk1.5.0_04\sample\jnlp\servlet\jnlp-servlet.jar;C:\Programas\Java\jdk1.5.0_04\sample\jnlp\servlet\jnlp.jar” -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=filipebasilio:1105,suspend=y mae
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.UnknownHostException
MESSAGE: localhost: localhost

STACKTRACE:

java.net.UnknownHostException: localhost: localhost
at java.net.InetAddress.getAllByName0(InetAddress.java:1128)
at java.net.InetAddress.getAllByName0(InetAddress.java:1098)
at java.net.InetAddress.getAllByName(InetAddress.java:1061)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:137)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2555)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at testemain.<init>(testemain.java:30)
at mae.main(mae.java:16)

** END NESTED EXCEPTION **

Last packet sent to the server was 47 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2621)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at testemain.<init>(testemain.java:30)
at mae.main(mae.java:16)
Erro de Excecção

Cara, seguinte… String null é diferente de “”; Então talvez esteja ai o teu erro.

Caso não seja isso, tb achei estranho a tua string de conexao… tenta essa:

É do manual dao propria MySQL: http://dev.mysql.com/doc/refman/5.1/en/cj-connect-with-drivermanager.html :wink: :wink:

Abraços!

[quote=“felipelo”]Cara, seguinte… String null é diferente de “”; Então talvez esteja ai o teu erro.

Caso não seja isso, tb achei estranho a tua string de conexao… tenta essa:

É do manual dao propria MySQL: http://dev.mysql.com/doc/refman/5.1/en/cj-connect-with-drivermanager.html :wink: :wink:

Abraços![/quote]

Eu estou com o mesmo problema citado neste tópico. Fiz as alterações acima e ainda continuo com o problema. Alguém tem mais alguma idéia?

Obrigado!

posta o teu codigo aqui…

Mas uma dica que eu posso dar é a seguinte: vai por partes… primeiro tenta se conecta com o banco… se nao der erro. tenta fazer alguma consulta… depois tu comeca a inserir, alterar, deletar… os registros…

[quote=“felipelo”]posta o teu codigo aqui…

Mas uma dica que eu posso dar é a seguinte: vai por partes… primeiro tenta se conecta com o banco… se nao der erro. tenta fazer alguma consulta… depois tu comeca a inserir, alterar, deletar… os registros…[/quote]

Ele está retornando o erro através de uma mensagem na tela. Como faço para recuperar o texto do erro pra lhe passar?

[quote=“felipelo”]posta o teu codigo aqui…

Mas uma dica que eu posso dar é a seguinte: vai por partes… primeiro tenta se conecta com o banco… se nao der erro. tenta fazer alguma consulta… depois tu comeca a inserir, alterar, deletar… os registros…[/quote]

A versão que estou usando do iReport é a 0.5.0!

Ola!

Pelo visto, a Exception que esta dando e a UnknownHostException. Não sei se no mysql também funciona assim, mas no MSSQL Server, vc precisa passar uma porta na url.

Tenta colocar a url setada ao invés de variáveis, dessa forma:

onde:
3306 - porta (Não me lembro se essa porta é do mySql)
root - usuário
teste - senha

Espero ter ajudado!

Abraço!

Parece que para MySql é diferente mesmo, peguei até um tutorial na internet e ele me sugeriu fazer exatamente como estou fazendo!

Não sei más o que estou fazendo parece estar certo mesmo. Pode ser algum erro de instalação ou alguma coisa do tipo? Alguém sabe se tem algum banco que vem para testes com o MySql para que eu possa testar a conexão com ele?

Assim… quando vc instalou o mysql, vc instalou o MySql Query Browser? Com ele você pode testar se esta funcionando corretamente seu mysql, e até mesmo criar um banco/tabelas.

Lembrando que após o localhost na url de conexão, vem a porta/nomedobanco!

E aí que estou achando estranho. Eu instalei o MySql Query Browser e consigo fazer tudo por ele. Conectei com o banco de dados sem problemas. Mas quando eu vou tentar conectar ao iReport da o mesmo erro.

E eu estou usando a porta também no caminho da conexão:

jdbc:mysql://localhost:3306/test