Duvida sobre o metodo getConnection()

Salve galera estou com uma grande duvida sobre JDBC em relação este metodo getConnection().
eu fiz um DNS no ODBC com driver do access de nome “Teste” que por este acessa uma tabela Empregados.
Só que no exemplo que faço no meu livro: JDBC e Java O’Reilly ele possui 3 parametros e no caso o primeiro é o nome da minha URL que no caso é “Teste” e outros parametros eu não sei para que serve.


  con = DriverManager.getConnection(url, "Borg", " ");
  // exemplo do livro.

Gostaria de saber como usar esse mtodo para acessar o meu banco de dados access?

A assinatura do método é public Connection getConnection(String url, String username, String password)

Acho que mata a dúvida, né? :slight_smile:

Se precisar de mais alguma coisa, só dar um toque :wink:

ajudou sim cv… valeu… obrigado…

ola amigos gostaria de saber se alguem poderia me ajudar a descobrir esse erro:
java.sql.SQLException: [Microsoft] [Driver ODBC para Microsoft Access] parametros insuficientes. Eram esperados 1.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at Select.main(Select.java:22)at sun.jdbc.odbc.JdbcOdbc.StandardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.jdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
at sun jdbc.odbc.JdbcodbcStatement.execute(JdbcOdbc.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:2

bem analisei o DNS que criei com o nome “Teste”, esta ok, verifiquei o access emrelação o nome da tabela está ok… agora será que o erro está no metodo next()… abaixo vem o codigo:



  public class Select {
   public static void main(String[] args) {
       String url = "jdbc:odbc:Teste";
       Connection con = null;
    
    try {     
       String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
       Class.forName(driver).newInstance();
     }
    catch(Exception e) {
           System.out.println(" falha para carregar o driver Odbc-Jdbc");
           return;
         }


    try {
       con = DriverManager.getConnection(url," "," ");
       Statement select = con.createStatement();
       ResultSet result = select.executeQuery("SELECT id_fun, num_func, nome FROM Empregado");
       System.out.println("Resultados:");

       while(result.next()) {
         int key;
         String val, val2;
        
         key = result.getInt(1);
         if(result.wasNull()) {
         key = -1;
         }
         val = result.getString(2);
         if(result.wasNull()) {
           val = null;
       }
         val2 = result.getString(3);
          if(result.wasNull()) {
          val2 = null;
      }
 
       System.out.println("ID empregado: " + key);
       System.out.println("Numero empregado: " + val);
       System.out.println("Nome empregado:" + val2);
     }
    }
   catch(Exception e) {
       e.printStackTrace();
    }
   finally {
       if(con != null) {
          try { con.close();}
          catch(Exception e) {
            e.printStackTrace(); 
             }
           }
        }
     }
  }

bem pro enquanto estou procurando no google sobre drivers JDBC do tipo 2(no caso ponte Jdbc-Odbc)

Se alguem poder me dar uma luz…

Dê uma olhada em
http://www.guj.com.br/forum/viewtopic.php?t=4493&highlight=access

Detalhe: troque o “$” do Micro$oft por “s” senão não vai funcionar

[]s, Welington B. Souza

ola wbsouza, gostaria de saber se esse erro é mesmo proviniente da configuração do driver pois tentei usar desse forma e da o mesmo erro.
Será que vc poderia me dar essa luz, só dizendo que tipo de erro deve esta acontecendo??? :idea:

por favor me ajudem estou arrancando meus cabelo esse projeto de acesso de BD naaum sai. :shock:

valeu GUJ.

Ao que me parece o usuario e senha estão sendo passados como sendo " ", ou seja, um espaço em branco. Tente passar string nula com duas aspas seguidas assim ó “” ao inves de " ".

[]s, Welington B. Souza

Bom sei que ja se passou 11 anos.

amigo o erro é evidentemente quando passa os parametros da classe getConnection.
a sintaxe da mesma seria

getConnection(String url, String user, String password)

e no teu caso usa

con = DriverManager.getConnection(url," “,” ");

na primeira linha do erro ja diz tudo:

java.sql.SQLException: [Microsoft] [Driver ODBC para Microsoft Access] parametros insuficientes.

forte abraço e segue uma classe boa de conexao para modelo

[code]package br.com.DAO;

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

public class ConexaoDAO3
{

public static void main(String[] args)  
{  
    String conect  =  "org.postgresql.Driver";  
    String user    =  "usuario BD";  
    String senha   =  "senha";  
    String url     =  "jdbc:postgresql://localhost:5432/";  
    
 /* String conect = "com.mysql.jdbc.Driver";  
    String user   = "root";  
    String senha  = "senha";  
    String url    = "jdbc:mysql://locahost:porta(caso seja diferente da padrão/";  */
    
   

    try  
    {  
        Class.forName(conect);  
        Connection con = null;  

        con = (Connection) DriverManager.getConnection(url, user, senha);  

        System.out.println("Conexão realizada com sucesso."+'\n') ;  
        
        // Utilizamos o método createStatement de con para criar o Statement  
        Statement stm = con.createStatement(); 
        ResultSet rs = stm.executeQuery("SELECT * FROM fila");
        
        while (rs.next()) {  
            System.out.println("numero  : " + rs.getInt(1)+ '\n'); //
            System.out.println("num_tps : " + rs.getInt(2)); //
            System.out.println( "Data_Coleta :" + rs.getTimestamp(3)+ '\n' );
            System.out.println( "Nome :" + rs.getString(4)+ '\n' );
                     
        }  
       
        rs.close();  
        stm.close();  
 
    }  
    catch (ClassNotFoundException ex)  
    {  
        System.err.print(ex.getMessage());  
    }   
    catch (SQLException e)  
    {  
        System.err.print(e.getMessage());  
    }  
    
    
}  

}[/code]