importjava.sql.*;publicclassBco{publicstaticvoidmain(Stringargs[]){System.out.println("#testando acesso a banco de dado Firebird\n\n");Connectionconn=null;Stringteste="SELECT NOMECLIENTE FROM CLIENTES;";try{Class.forName("org.firebirdsql.jdbc.FBDriver");conn=DriverManager.getConnection("jdbc:firebirdsql:192.168.100.100/3050://opt/webappbase/webapps/sisfraldas/sisfraldas.fdb","SYSDBA","fbmbm_011");System.out.println("Sucesso na conexão! Massacre!\n");Statementstm=conn.createStatement();ResultSetrs=stm.executeQuery(teste);while(rs.next()){Stringlinha=rs.getString("NOME");System.out.println("Cliente:"+linha);}System.out.println("select realizado\n");}catch(ClassNotFoundExceptione){System.out.println("excessao ClassNotFound...");e.printStackTrace();}catch(SQLExceptione){System.out.println("SQL Exception... Erro dos Bravos");e.printStackTrace();}finally{try{conn.close();}catch(SQLExceptiononConClose){System.out.println("error on closing");onConClose.printStackTrace();}}}}identartextopré-formatadopor4espaços
Mano, eu sou novato nessa parte de sql, mas vou tentar te ajudar…
Eu tenho aqui um código de conexão que funciona. Nele eu não usei firebird, e como sou novato não tenho certeza se isso deve comprometer o código, mas enfim…
Nesse meu código eu tentei usar o Class.forName() e também recebi a exceção ClassNotFound, mesmo com meu driver estando na WEB-INF/lib. O que eu fiz foi remover esse método e registrar o meu driver usando DriverManager.registerDriver(), que eu notei que no seu código está faltando.
Desde então meu código funciona de boa.
H
henriquenascimentobr
Bom dia!!!
Tentei também!!! Infelizmente não deu certo! O que será que estou fazendo de errado!?
R
RoinujNosde
Pasta WEB-INF/lib? Isso é um projeto web?
Não deveria ser um server (Tomcat, por ex) a executar seu projeto?
H
henriquenascimentobr
Sim, um projeto web.Mais eu queria testar a classe para ver se está conectando o banco de dados certinho
Estou fazendo sem ide, só no bloco de notas.
Não é assim, que eu testo???
javac Bco.java
java Bco
???
R
RoinujNosde
A WEB-INF/lib é a pasta onde o server carrega as dependências.
O comando “java” não usa ela.
Tente isso:
java-cp.:WEB-INF/lib/nomedojar.jarBco
H
henriquenascimentobr
Não deu certo, nossa que coisa dificil, e eu sou iniciante, to quase para desistir!
abr 17, 2021 11:51:45 AM org.firebirdsql.logging.JulLogger warn
ADVERTÊNCIA: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
Sucesso na conexão! Massacre!
abr 17, 2021 11:57:34 AM org.firebirdsql.logging.JulLogger warn
ADVERTÊNCIA: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
Eu instalei o servidor jetty, agora para essa conexão funcionar com meu framework e o código, é só eu colocar o jaybird dentro da pasta lib do jetty ???
Se não me engano, essa pasta lib do jetty é para dependências compartilhadas em mais de um webapp.
Então deve funcionar colocando lá.
Também tem a pasta WEB-INF/lib do próprio webapp.
H
henriquenascimentobr
Boa noite!!!Tenho minha classe de conexão e uma pagina para testar a conexão.A pagina está carregando normal,mais quando clico no botão ok e chama a função clique() ele dá erro, não consigo descobrir o que é?
Minhaconexão!importjava.sql.*;publicclassConexao{//usuario e senhaprivateStringlogin="SYSDBA";privateStringsenha="fbmbm_011";privateStringurl="jdbc:firebirdsql:192.168.100.100/3050:/opt/webappbase/webapps/sisfraldas/sisfraldas.fdb?encoding=UTF8";//objeto do tipo Connection para estabelecer a conexãopublicConnectionconexao=null;//objeto Statement usado para enviar consultas para o banco de dadospublicStatementstmt=null;publicResultSetr=null;publicConexao(){}publicConnectionabreConexaoBD(){try{try{Class.forName("org.firebirdsql.jdbc.FBDriver");}catch(ClassNotFoundExceptionex){returnnull;}try{//efetua conexao com o banco de dadosthis.conexao=(Connection)DriverManager.getConnection(url,login,senha);}catch(SQLExceptionex){returnnull;}returnthis.conexao;}catch(Exceptione){returnnull;}}}