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.
A assinatura do método é public Connection getConnection(String url, String username, String password)
Acho que mata a dúvida, né?
Se precisar de mais alguma coisa, só dar um toque
M
Marcola_SP
ajudou sim cv… valeu… obrigado…
M
Marcola_SP
olaamigosgostariadesabersealguempoderiameajudaradescobriresseerro:java.sql.SQLException:[Microsoft][Driver ODBC para Microsoft Access]parametrosinsuficientes.Eramesperados1.atsun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)atSelect.main(Select.java:22)atsun.jdbc.odbc.JdbcOdbc.StandardError(JdbcOdbc.java:7115)atsun.jdbc.odbc.jdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)atsunjdbc.odbc.JdbcodbcStatement.execute(JdbcOdbc.java:338)atsun.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:
publicclassSelect{publicstaticvoidmain(String[]args){Stringurl="jdbc:odbc:Teste";Connectioncon=null;try{Stringdriver="sun.jdbc.odbc.JdbcOdbcDriver";Class.forName(driver).newInstance();}catch(Exceptione){System.out.println(" falha para carregar o driver Odbc-Jdbc");return;}try{con=DriverManager.getConnection(url," "," ");Statementselect=con.createStatement();ResultSetresult=select.executeQuery("SELECT id_fun, num_func, nome FROM Empregado");System.out.println("Resultados:");while(result.next()){intkey;Stringval,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(Exceptione){e.printStackTrace();}finally{if(con!=null){try{con.close();}catch(Exceptione){e.printStackTrace();}}}}}
bem pro enquanto estou procurando no google sobre drivers JDBC do tipo 2(no caso ponte Jdbc-Odbc)
Detalhe: troque o “$” do Micro$oft por “s” senão não vai funcionar
[]s, Welington B. Souza
M
Marcola_SP
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.
W
wbsouza
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
A
alcduck
Bom sei que ja se passou 11 anos.
amigo o erro é evidentemente quando passa os parametros da classe getConnection.
a sintaxe da mesma seria
java.sql.SQLException: [Microsoft] [Driver ODBC para Microsoft Access] parametros insuficientes.
forte abraço e segue uma classe boa de conexao para modelo
packagebr.com.DAO;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassConexaoDAO3{publicstaticvoidmain(String[]args){Stringconect="org.postgresql.Driver";Stringuser="usuario BD";Stringsenha="senha";Stringurl="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);Connectioncon=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 Statementstm=con.createStatement();ResultSetrs=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(ClassNotFoundExceptionex){System.err.print(ex.getMessage());}catch(SQLExceptione){System.err.print(e.getMessage());}}}