System.out.println(fname+" "+lname+" id : "+id);}
rs.close();stmt.close();}
finally{
if(con!=null)con.close();}
}
}
Erro : Exception in thread “main” java.sql.SQLException: [Microsoft][Driver ODBC para Excel] ‘Sheet1$’ não é um nome válido. Certifique-se de que ele inclua somente caracteres ou pontuação válidos e de que não seja longo demais.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
at Exemplo.BancoExcel.main(BancoExcel.java:20)
Esse comando SQL para selecionar os dados está correto?
Esse exemplo ei peguei aqui no portal java, to fazendo igual !!!
acho que a mensagem de erro foi bem clara…o problema está no nome de sua tabela na select. Não sei do que se trata sua tabela, mas provavelmete o nome dela é só Sheet1
arm.jr:
peguei aqui no portal java
:shock:
arm.jr
Valeu !!
Era Plan1
arm.jr
Como faço para inserir os dados numa planilia do excel.
Exceptioninthread“main”java.sql.SQLException:[Microsoft][Driver ODBC para Excel]Aoperaçãodeveusarumaconsultaatualizável.atsun.jdbc.odbc.JdbcOdbc.createSQLException(UnknownSource)atsun.jdbc.odbc.JdbcOdbc.standardError(UnknownSource)atsun.jdbc.odbc.JdbcOdbc.SQLExecDirect(UnknownSource)atsun.jdbc.odbc.JdbcOdbcStatement.execute(UnknownSource)atsun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(UnknownSource)atExemplo.BancoExcel2.main(BancoExcel2.java:20)
ibimon
Cara pergunta,
Vc consguiu né, como vc cria não estou conseguindo criar…um tabela na planilha…
public static final String DRIVER_NAME = “sun.jdbc.odbc.JdbcOdbcDriver”;
publicstaticfinalStringDATABASE_URL="jdbc:odbc:BancoJava";publicstaticvoidmain(String[]args)throwsClassNotFoundException,SQLException{Class.forName(DRIVER_NAME);Connectioncon=null;try{con=DriverManager.getConnection(DATABASE_URL);Statementstmt=con.createStatement();//ResultSet rs = stmt.executeQuery("select lastname, firstname, id from [codigo$]");ResultSetrs=stmt.executeQuery("create table codigos(id int )");while(rs.next()){Stringlname=rs.getString(1);Stringfname=rs.getString(2);intid=rs.getInt(3);System.out.println(fname+" "+lname+" id : "+id);}rs.close();stmt.close();}finally{if(con!=null)con.close();}}
erro:
java.sql.SQLException:[Microsoft][Driver ODBC para Excel]OmecanismodebancodedadosMicrosoftJetnãopôdeencontraroobjeto‘codigos’.Certifique-sedequeoobjetoexistaedeterdigitadoseunomeeocaminhocorretamente.atsun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)atsun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)atsun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)atsun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)atsun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)atConexao.main(Conexao.java:21)Exceptioninthread“main”
janocrema
Boa Tarde
Porque ao gravar um inteiro no banco ele grava com uma aspa simples no inicio impossibilitando o excell trabalhar como numerico.
Gravando “…values(1,‘123123’)” no excell fica '1 na coluna do numero.
e preciso trabalhar com esse numero no excell.
[]s
Vingdel
arm.jr:
Como faço para inserir os dados numa planilia do excel.
Statement stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO Plan1 (lastname, firstname, id) VALUES ('CONSEGUI','HEHEHEHEH',51)");
Em um outro post vc disse que o nome da planilha é Plan1, tomei isso como base.
Abraço! :thumbup:
Vingdel
ibimon:
Cara pergunta,
Vc consguiu né, como vc cria não estou conseguindo criar…um tabela na planilha…
public static final String DRIVER_NAME = “sun.jdbc.odbc.JdbcOdbcDriver”;
publicstaticfinalStringDATABASE_URL="jdbc:odbc:BancoJava";publicstaticvoidmain(String[]args)throwsClassNotFoundException,SQLException{Class.forName(DRIVER_NAME);Connectioncon=null;try{con=DriverManager.getConnection(DATABASE_URL);Statementstmt=con.createStatement();//ResultSet rs = stmt.executeQuery("select lastname, firstname, id from [codigo$]");ResultSetrs=stmt.executeQuery("create table codigos(id int )");while(rs.next()){Stringlname=rs.getString(1);Stringfname=rs.getString(2);intid=rs.getInt(3);System.out.println(fname+" "+lname+" id : "+id);}rs.close();stmt.close();}finally{if(con!=null)con.close();}}
erro:
java.sql.SQLException:[Microsoft][Driver ODBC para Excel]OmecanismodebancodedadosMicrosoftJetnãopôdeencontraroobjeto‘codigos’.Certifique-sedequeoobjetoexistaedeterdigitadoseunomeeocaminhocorretamente.atsun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)atsun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)atsun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)atsun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)atsun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)atConexao.main(Conexao.java:21)Exceptioninthread“main”</blockquote>
Olá amigo ibimon,
Sou novo em JAVA e ainda mais em JDBC/ODBC, comecei a ler sobre banco de dados ontem e pelo que aprendi já, o erro está claro no seu código. Vamos lá:
O método executeQuery(), que vc está usando, é usado para acessar o banco de dados, para modificá-lo vc deve usar o método executeUpdate(), portanto vc deveria fazer da seguite forma:
01publicstaticvoidmain(String[]args)throwsClassNotFoundException,02SQLException{03Class.forName(DRIVER_NAME);04Connectioncon=null;05try{06con=DriverManager.getConnection(DATABASE_URL);07Statementstmt=con.createStatement();08//ResultSet rs = stmt.executeQuery("select lastname, firstname, id from [codigo$]"); 09ResultSetrs=stmt.executeUpdate("CREATE TABLE codigos(id int)");10while(rs.next()){11Stringlname=rs.getString(1);12Stringfname=rs.getString(2);13intid=rs.getInt(3);14System.out.println(fname+" "+lname+" id : "+id);15}16rs.close();17stmt.close();18}finally{19if(con!=null)20con.close();21}22}
Note a mudança foi feita na linha 09 ([color=red]ResultSet rs = stmt.executeUpdate(“CREATE TABLE codigos(id int)”);[/color]), lembre-se de usar os comandos em CAIXA ALTA.
Veja se funciona e diga-nos o resultado.
Abraço!
SandroSoftwares
Desculpe-me estar retornando este questionamento tão antigo, mas estou precisando de algumas informações:
Estou criando um programa java e gostaria que ele se comunicasse com uma planilha excel que tenho!
minhas dúvidas:
Conexão:
public static final String DATABASE_URL = “jdbc:odbc:BancoJava”; //aqui é o nome do banco de dados é?
onde eu tenho que colocar a planilha excel? dentro do projeto netbeans?