O que tem de errado aqui?

6 respostas
L

Eai galera blz ??
Intao eu add o mdb pela extensão do C:\WINDOWS\SysWOW64\odbcad32.exe e alterei para criar o Driver mdb…
ai depois criei esse código aqui…

package teste;
import java.sql.*;

public class Teste {

public static void main(String[] args) {
   
Connection con = null;

try
{
        try {
            //Este é um dos meios para registrar um driver
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException ex) {
            System.out.println("Impossível carregar o Driver.");
            System.exit(0);
        }
    
    //Estabelecendo uma conexão
    //con = DriverManager.getConnection("jdbc.odbc.JdbcOdbcDriver", "conta", "senha");
    String url = "jdbc:odbc:Banco2";// esta string carrega o nome da fonte de dados
    con = DriverManager.getConnection(url,"","");// aqui é efetuada conexão passando?se a fonte de dados e o login e senha do banco, que neste caso não existem.
    //Apos estabelecer a conxão com o banco de dados
    //Ultilizamos o metodo createStatement de con para criar o Statement
    Statement stm = con.createStatement();
    
  
    //Vamos excutar o seguinte comnado SQL:
    String SQL = "select * from BSA_DB_MatPrima;";
      
    //Executamos a query no banco de dados
    ResultSet rs = stm.executeQuery(SQL);
     System.out.println("Imprime !!.");
    //O metodo next() informa se houve resultados e posiciona o cursor do banco
    //na proxima linha disponivel para recuperação
    //Como esperamos varias linhas utilizaremos um laço para recuperar os dados
    while(rs.next())
    {
      String Nome = rs.getString("MatP_Nome");
     // String Autor = rs.getString("autor");
     // int totalFaixas = rs.getInt("total_faixas");
      
      System.out.println("Nome" +Nome);
    }
}
catch(Exception e)
{
    //se houver algum erro, uma exceção é gerada para informar o erro
    e.printStackTrace();
}
finally
{
   try
   {
    con.close();
   }
   catch(SQLException onConClose)
   {
       System.out.println("Houve erro no fechamento da conexão");
       onConClose.printStackTrace();
   }
}
}

}

porem nao consigo achar o erro…se alguem souber… ele acaba parando aqui …ResultSet rs = stm.executeQuery(SQL);

e da esse erro :

run:

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] O mecanismo de banco de dados Microsoft Jet n?o encontrou a tabela de entrada ou consulta BSA_DB_MatPrima. Certifique-se de que ela existe e de que seu nome est? digitado corretamente.

at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)

at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)

at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)

at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)

at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)

at teste.Teste.main(Teste.java:35)

Porem esta tudo certo o nome da tabela esta certo ela existe e esta encaminhada corretamente no driver la do odbc…

nao sei qal é o erro…se alguem souber…porfavor !!

Muito Obrigado pra qem comenta…

6 Respostas

guijocargo
Não esqueça da boa e velha tag code ;)
package teste;

import java.sql.*;

public class Teste {

    public static void main(String[] args) {

        Connection con = null;

        try {
            try {
//Este é um dos meios para registrar um driver 
                Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            } catch (ClassNotFoundException ex) {
                System.out.println("Impossível carregar o Driver.");
                System.exit(0);
            }

//Estabelecendo uma conexão 
//con = DriverManager.getConnection("jdbc.odbc.JdbcOdbcDriver", "conta", "senha"); 
            String url = "jdbc:odbc:Banco2";// esta string carrega o nome da fonte de dados 
            con = DriverManager.getConnection(url, "", "");// aqui é efetuada conexão passando?se a fonte de dados e o login e senha do banco, que neste caso não existem. 
//Apos estabelecer a conxão com o banco de dados 
//Ultilizamos o metodo createStatement de con para criar o Statement 
            Statement stm = con.createStatement();


//Vamos excutar o seguinte comnado SQL: 
            String SQL = "select * from BSA_DB_MatPrima;";

//Executamos a query no banco de dados 
            ResultSet rs = stm.executeQuery(SQL);
            System.out.println("Imprime !!.");
//O metodo next() informa se houve resultados e posiciona o cursor do banco 
//na proxima linha disponivel para recuperação 
//Como esperamos varias linhas utilizaremos um laço para recuperar os dados 
            while (rs.next()) {
                String Nome = rs.getString("MatP_Nome");
// String Autor = rs.getString("autor"); 
// int totalFaixas = rs.getInt("total_faixas"); 

                System.out.println("Nome" + Nome);
            }
        } catch (Exception e) {
//se houver algum erro, uma exceção é gerada para informar o erro 
            e.printStackTrace();
        } finally {
            try {
                con.close();
            } catch (SQLException onConClose) {
                System.out.println("Houve erro no fechamento da conexão");
                onConClose.printStackTrace();
            }
        }
    }
}
run: 
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] O mecanismo de banco de dados Microsoft Jet n?o encontrou a tabela de entrada ou consulta 'BSA_DB_MatPrima'. Certifique-se de que ela existe e de que seu nome est? digitado corretamente. 
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) 
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110) 
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) 
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253) 
at teste.Teste.main(Teste.java:35)
R

coloca seu codigo como [code] pra facilitar a leitura aqui

guijocargo
RenataTorres:
coloca seu codigo como [code] pra facilitar a leitura aqui

Eu tinha avisado mas resolvi dar uma maozinha e ja coloquei o código dentro do code :)

L

Desculpe -me sou novo nao sei como fazer assim…brigado pra qem comenta !!

wbdsjunior

tem certeza que o nome da tabela é esse?

L

bom vou anexar ela …ela é só um exemplo para essa tentativa…

Mais é esse nome mesmo dela… BSA_DB_MatPrima

é mais uma coisa eu NÃO tenho o Access instalado no meu note…sera q é por isso ??

Pior q se for NÃO vou poder instalar ele aqui

vlww pra qem comenta…

Criado 13 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 6
Participantes 4