Pontes ODBC no Mac OS

1 resposta
dforocha

Olá Pessoal,

Sou novo aqui no fórum e em programação Java também.
Por isso peço desculpa caso minha pergunta seja boba, mas vamos lá.

Tenho um aplicativo em Java que se comunica com diversos SGBD em Windows, através de pontes ODBC, porém preciso que ele funcione no Mac OS e sempre que debugo o programa, ele para na hora que me conecto ao Driver.

código:

try

{

// Seleciona o driver para a base de dados.

Class.forName( f_info.get( “driver” ) );
// Conecta à base de dados.
    String url    = f_info.get( "url" );
    String user   = f_info.get( "user" );
    String passwd = f_info.get( "passwd" );
f_con = DriverManager.getConnection( url, user, passwd );

    // Obtem número de registros
    String tmpquery = "Select Count(*) " + f_info.get( "query" );

    f_logger.debug("Count Query: (" + tmpquery + ")" );

    Statement stat = f_con.createStatement();
    ResultSet result = stat.executeQuery( tmpquery );
    result.next();
    f_numRecords = result.getInt(1);
    f_currRecordNum = 0;

// Faz a consulta na base da coleção.
    String query = "Select " + fields + " " + f_info.get( "query" ) + " Order by " + order;

    f_logger.debug("Real Query: (" + query + ")" );

f_state  = f_con.createStatement();
    f_result = f_state.executeQuery( query );

    // Encontra o número de campos por registro.
ResultSetMetaData rsmd = f_result.getMetaData();

f_nfields = rsmd.getColumnCount();
    f_logger.debug("Executed query!" );
  }

catch ( Exception ex )
  {
    f_logger.error("Erro: " + ex.getLocalizedMessage() + ": " + ex.getMessage() );
return( -1 );
  }

Ele trava nesse ponto:
Class.forName( “sun.jdbc.odbc.JdbcOdbcDriver” );

Copiei o arquivo rt.jar, e o debug passa desse ponto, porém na hora de se conectar ao banco, ele retorna NullException

Com o rt.jar do windows, trava aqui:
f_con = DriverManager.getConnection( url, user, passwd );

Acredito que seja alguma incompatibilidade ou algo assim.

Alguém sabe como devo fazer para conectar a um banco através de odbc no mac?

Agradeço a atenção desde já.

1 Resposta

T

a) Pague ( EasySoft
b) Use o driver correto para seu banco, em vez de usar ODBC, que é coisa do Windows.

Criado 19 de novembro de 2008
Ultima resposta 19 de nov. de 2008
Respostas 1
Participantes 2